Joblinc is a professional social networking platform inspired by LinkedIn. It allows users to create career profiles, connect with others, apply to job opportunities, and engage in real-time communication.
This project was developed as part of the CMPS203 Software Engineering course at Cairo University.
🌐 Live at: https://joblinc.me
This repository contains the backend services powering both the React web and Flutter cross-platform mobile clients.
- Node.js with Express.js
- TypeScript
- MongoDB with Mongoose
- WebSocket for real-time messaging
- REST API for data retrieval and updates
- FCM (Firebase Cloud Messaging) for push notifications
- Clean Architecture (Application, Domain, Infrastructure layers)
- Docker (optional for containerization)
- 👤 User Management: Authentication, profile handling, and soft deletion
- 💼 Job Module: Job postings, saved jobs, and application tracking
- 💬 Messaging System: Private and group chats with real-time support, delivery, and read statuses
- 🔔 Notification System: Uses adapter pattern to map system actions into notification DTOs, integrated with FCM
- 📲 Push Notifications: Endpoints for managing device FCM tokens
- 🔐 Security: JWT-based authentication with role and permission control
# Clone the repository
git clone https://github.com/your-username/joblinc-backend.git
cd joblinc-backend
# Install dependencies
npm install
# Start the development server
npm run dev