Commit History

fix(opportunities): normalize unknown categories and support programs
b60327d
Running

angeetoile commited on

fix(config): correct frontend URLs setting
2d785de

angeetoile commited on

feat(opportunities): add protected batch synchronization endpoint
f55a6b5

angeetoile commited on

feat(collectors): add Erasmus Mundus collector
34f4b41

angeetoile commited on

feat(collectors): add Campus France collector
71e5eea

angeetoile commited on

feat(collectors): add Campus France collector
47a5c15

angeetoile commited on

feat(collectors): add African Union opportunities collector
45ab3ad

angeetoile commited on

feat(collectors): add University of Bamenda collector
fef2543

angeetoile commited on

fix(collectors): clean and deduplicate Dschang opportunities
d522ee1

angeetoile commited on

feat(collectors): add University of Dschang collector
e47011c

angeetoile commited on

feat(collectors): add University of Douala opportunity collector
eeb2207

angeetoile commited on

feat(collectors): add University of Buea opportunity collector
193deec

angeetoile commited on

fix(collectors): normalize MINESUP text matching
3f360a2

angeetoile commited on

fix(collectors): improve MINESUP opportunity detection
de561bf

angeetoile commited on

refactor(collectors): optimize MINESUP opportunity extraction
9d54a37

angeetoile commited on

fix(collectors): correction of MINESUP collector validation
11bb8ee

angeetoile commited on

feat(collectors): add MINESUP collector validation
ed84c9b

angeetoile commited on

feat(opportunities): add official UNESCO internships collector
3f56f25

angeetoile commited on

fix(opportunities): collect Mastercard institutions from official JSON
63af62b

angeetoile commited on

fix(opportunities): improve Mastercard Foundation collector
ad9b7cc

angeetoile commited on

feat(collectors): implement Mastercard Foundation collector
86e01dc

angeetoile commited on

fix(api): remove duplicated opportunities route prefix
fbd26b1

angeetoile commited on

feat: collect official opportunity metadata
f55e876

angeetoile commited on

fix: use the configured database session dependency
f8f69b5

angeetoile commited on

fix: pass source slug during opportunity synchronization
e3ee435

angeetoile commited on

feat: synchronize Chevening opportunities with Neon
043c481

angeetoile commited on

feat: add Chevening opportunity collector
782fae9

angeetoile commited on

feat: add opportunity collector contracts
a7b91b8

angeetoile commited on

feat(opportunities): add verified opportunities API
3adf1fb

angeetoile commited on

feat(database): add user model and initial migration
e2800b3

angeetoile commited on

fix(config): restore debug setting
49ef8e4

angeetoile commited on

feat(database): connect API to Neon PostgreSQL
2a09328

angeetoile commited on

feat: initialize VerifPulse FastAPI backend
436808d

angeetoile commited on