Backend API for a job and social platform that combines authentication, user profiles, resumes, companies, messaging, statistics, GPT-assisted flows, and Telegram-related features in a single Express service.
- large Express API organization across multiple business domains
- JWT-based auth and refresh-token flows
- Swagger-backed route documentation
- Mongoose models for user, company, jobs, resume, messaging, and content workflows
- integration points for OpenAI, Telegram, SMS providers, and object storage
- Express keeps the HTTP layer flexible for a broad monolith-style API
- MongoDB + Mongoose fit the platform’s document-heavy data model
- Socket.IO supports messaging and real-time platform events
- Swagger gives a usable API reference surface for a large route set
- JWT auth supports mobile/client session flows without server-side session coupling
This repository is a multi-domain platform backend with these main areas:
- authentication and token management
- jobs and quick jobs
- resumes and profile data
- companies and offices
- messaging and chat rooms
- discover, stories, gallery, banners
- GPT and Telegram integrations
npm install
cp .env.example .env
npm startDefault local URL:
http://127.0.0.1:8080
Key local requirements:
- MongoDB running locally or a reachable MongoDB URI
- JWT secrets in
.env - object storage settings for upload-related routes
serviceAccountKey.jsonfor Firebase notification features
Minimum required values for local development:
PORTMONGO_URIJWT_SECRETJWT_REFRESH_SECRETSWAGGERT_URL
Optional integrations:
- OpenAI
- Telegram bot
- SMS providers
- DigitalOcean Spaces / S3-compatible object storage
- Twilio
- Firebase Admin service account JSON
See .env.example for the current contract.
npm install
npm test
npm startAvailable scripts:
npm startstarts the APInpm run devstarts the API in watch modenpm testruns smoke tests against the minimal bootable HTTP surface
GET /healthGET /swagger-spec.jsonGET /api-docsGET /
Current smoke tests verify:
- the minimal app boots without forcing MongoDB, S3, or Firebase imports
- the health endpoint responds correctly
- swagger JSON is served
- the root status page responds correctly
npm testvalidates a minimal boot mode designed for onboarding and CI smoke checksnpm startstill loads the full platform route graph and expects MongoDB, object storage configuration, andserviceAccountKey.jsonfor notification-related modules- this split is intentional so new contributors can verify the HTTP surface before wiring every external integration
This repo is strongest as a platform-backend case study, not as a lightweight starter. The main engineering signal is handling a wide API surface with consistent routing, auth boundaries, and external-service integration points.
- add request validation coverage to the most important routes
- split duplicate and legacy route/controller files out of the main code path
- add database-backed integration tests for auth and jobs flows
- separate infrastructure-heavy integrations behind clearer service boundaries