🐍 Backend API Server
Django REST Framework
A robust and scalable backend API built with Django REST Framework, featuring JWT authentication, role-based access control, and comprehensive endpoints for all application functionality.
🛠️ Backend Technology Stack
Core Technologies
- Python 3.8+ - Modern Python features
- Django 4.2 - Web framework
- Django REST Framework - API framework
- JWT Authentication - Secure token-based auth
- PostgreSQL - Production database
- CORS Headers - Cross-origin security
Additional Features
- File Upload - Resume & document handling
- Role-based Access - Permission system
- Advanced Filtering - Job search capabilities
- Email Integration - Notification system
- Timezone Support - Global compatibility
- Analytics - Data insights
📁 Backend Structure
🔗 API Endpoints
Authentication APIs
- POST /api/auth/login/ - User login
- POST /api/auth/register/ - User registration
- POST /api/auth/refresh/ - Token refresh
- POST /api/auth/logout/ - User logout
- GET /api/auth/me/ - Current user info
User Management APIs
- GET /api/users/ - List users
- POST /api/users/ - Create user
- GET /api/users/{id}/ - User details
- PUT /api/users/{id}/ - Update user
- DELETE /api/users/{id}/ - Delete user
Company APIs
- GET /api/companies/ - List companies
- POST /api/companies/ - Create company
- GET /api/companies/{id}/ - Company details
- PUT /api/companies/{id}/ - Update company
- GET /api/companies/{id}/users/ - Company users
Job APIs
- GET /api/jobs/ - List jobs (with filters)
- POST /api/jobs/ - Create job posting
- GET /api/jobs/{id}/ - Job details
- PUT /api/jobs/{id}/ - Update job
- GET /api/jobs/search/ - Advanced search
Application APIs
- GET /api/applications/ - List applications
- POST /api/applications/ - Submit application
- GET /api/applications/{id}/ - Application details
- PATCH /api/applications/{id}/ - Update status
- POST /api/applications/{id}/resume/ - Upload resume
Analytics APIs
- GET /api/analytics/dashboard/ - Dashboard stats
- GET /api/analytics/jobs/ - Job statistics
- GET /api/analytics/applications/ - Application metrics
- GET /api/analytics/companies/ - Company insights
🔧 Backend Features
JWT Authentication
Secure token-based authentication with access and refresh tokens, automatic token validation, and role-based permissions.
Role-Based Access Control
Four distinct user roles (Superuser, Company User, HR User, Job Seeker) with granular permissions and data isolation.
Data Models
Well-designed database schema with proper relationships, constraints, and indexes for optimal performance.
Advanced Filtering
Comprehensive job search with filters for location, salary, experience level, job type, and company.
File Management
Secure file upload handling for resumes and documents with validation, storage optimization, and access control.
RESTful APIs
Well-structured REST APIs following best practices with proper HTTP methods, status codes, and error handling.