Logo Lanfrica

salieubarrie22/job-opportunity-api

Domain:

socioeconomic

Record type:

software
Creator:
sal
Host:
A RESTful Job Opportunity API for Sierra Leone youth employment. SDG 8 - Decent Work and Economic Growth. PROG315 Group Project. # Job Opportunity API πŸ‡ΈπŸ‡± A RESTful API for youth employment listings in Sierra Leone. **PROG315 – Object-Oriented Programming 2 | Group Project** Limkokwing University of Creative Technology, Sierra Leone | Semester 4, 2026 --- ## SDG Alignment **SDG 8 – Decent Work and Economic Growth** This platform helps bridge the gap between Sierra Leonean youth and employment opportunities by providing a digital job board where employers can post vacancies and job seekers can apply online. --- ## Features - JWT Authentication with OAuth2 - Role-Based Access Control (jobseeker, employer, admin) - Full CRUD for job listings - Job application management - Async programming with async/await - Auto Documentation β€” Swagger UI and ReDoc - Open Source β€” MIT License - SDG 8 aligned β€” Sierra Leone context --- ## Tech Stack - Framework: FastAPI - Database: PostgreSQL - ORM: SQLAlchemy - Validation: Pydantic v2 - Authentication: OAuth2 + JWT - Security: bcrypt password hashing - Documentation: Swagger UI and ReDoc --- ## Project Structure - main.py β€” FastAPI app and all routes - models.py β€” SQLAlchemy ORM models - schemas.py β€” Pydantic request and response schemas - database.py β€” DB engine and session dependency - auth.py β€” JWT, password hashing, RBAC - requirements.txt β€” Python dependencies - README.md β€” Project documentation --- ## Setup and Installation ### 1. Clone the repository git clone github.com cd job-opportunity-api ### 2. Create virtual environment python -m venv venv venv\Scripts\activate ### 3. Install dependencies pip install -r requirements.txt ### 4. Configure environment variables Create a .env file with: DATABASE_URL=postgresql://postgres:YOUR_PASSWORD@localhost/jobapi_db SECRET_KEY=your-secret-key-here ACCESS_TOKEN_EXPIRE_MINUTES=30 ### 5. Run the application uvicorn main:app --reload ### 6. Open API Documentation 127.0.0.1 127.0.0.1 ## API Endpoints ### Authent …

Licenses