How ankit-yadav9988/sarkari-bharti works
Sarkari Bharti is a bilingual government-job information portal. Aspirants browse server-rendered listings and detail pages; the frontend retrieves data over HTTP from a Spring REST API backed by PostgreSQL. Administrators authenticate and maintain jobs and related exam resources, while subscribers can opt into optional email alerts. The tree and README establish the broader resource and page capabilities; sampled source confirms selected homepage, job, authentication, subscription, and broadcast paths, so unsampled controller wiring is shown only at subsystem level.
Main entry points: api.js API client · AdminJobController.java Job admin · JobService.java Job workflows · admin Admin pages
Components 26
Public portal
- Public pages
frontend/pages - Home digest
frontend/pages/index.js - Admin pages
frontend/pages/admin - API client
frontend/lib/api.js - Admin auth
frontend/lib/auth.js
REST API
- Job endpoints
backend/src/main/java/com/sarkariportal/backend/controller/JobController.java - Job admin
backend/src/main/java/com/sarkariportal/backend/controller/AdminJobController.java - Login endpoint
backend/src/main/java/com/sarkariportal/backend/controller/AuthController.java - Exam resources
backend/src/main/java/com/sarkariportal/backend/controller - Subscriber endpoint
backend/src/main/java/com/sarkariportal/backend/controller/SubscriberController.java - API security
backend/src/main/java/com/sarkariportal/backend/config/SecurityConfig.java
Content services
- Job workflows
backend/src/main/java/com/sarkariportal/backend/service/JobService.java - Resource workflows
backend/src/main/java/com/sarkariportal/backend/service - Job data
backend/src/main/java/com/sarkariportal/backend/repository/JobRepository.java - Resource data
backend/src/main/java/com/sarkariportal/backend/repository
Admin and alerts
- Subscription service
backend/src/main/java/com/sarkariportal/backend/service/SubscriberService.java - Broadcast service
backend/src/main/java/com/sarkariportal/backend/service/BroadcastService.java - Mail delivery
backend/src/main/java/com/sarkariportal/backend/service/MailService.java - Subscriber data
backend/src/main/java/com/sarkariportal/backend/repository/SubscriberRepository.java
Source discovery
- Discover sources
pipeline/discover.js - Pipeline runner
pipeline/run.js - Job extraction
pipeline/lib/extract.js
Other components
- Aspirant
- Administrator
- Mail provider
- Recruitment sites
Connections 28
- Aspirant → Public pages: browses
- Home digest → API client: fetches listings
- Public pages → API client: requests data
- API client → Job endpoints: HTTP requests
- Job endpoints → Job workflows: delegates
- Job workflows → Job data: queries and updates
- Job workflows → Home digest: returns listings
- Exam resources → Resource workflows: delegates
- Resource workflows → Resource data: queries and updates
- Exam resources → API client: serves resource data
- Administrator → Admin pages: manages content
- Admin pages → Admin auth: submits login
- Admin auth → Login endpoint: HTTP login
- Login endpoint → API security: issues JWT
- Admin pages → API client: sends changes
- API client → Job admin: admin requests
- Job admin → Job workflows: delegates
- Job admin → API security: requires authorization
- Job admin → API client: returns job results
- Subscriber endpoint → Subscription service: manages signups
- Subscription service → Subscriber data: stores subscribers
- Subscriber endpoint → Broadcast service: starts broadcast
- Broadcast service → Subscriber data: loads recipients
- Broadcast service → Mail delivery: sends messages
- Mail delivery → Mail provider: delivers email
- Recruitment sites → Discover sources: provides source pages
- Pipeline runner → Discover sources: finds listings
- Pipeline runner → Job extraction: extracts job data