A FastAPI-based Job Opportunity API for youth employment in Sierra Leone.
# YouthJobsAPI
## Overview
YouthJobsAPI is a RESTful API built with FastAPI to help address youth unemployment in Sierra Leone.
The platform allows employers to post job opportunities and enables job seekers to browse and apply for available jobs.
This project supports United Nations Sustainable Development Goal (SDG) 8: Decent Work and Economic Growth.
---
## Features
### Authentication
* User Registration
* User Login
* Password Hashing
* JWT Authentication
### User Roles
* Admin
* Employer
* Job Seeker
### Jobs Management
* Create Job
* View All Jobs
* View Single Job
* Update Job
* Delete Job
### Applications
* Apply for Job
* View Applications
---
## Technologies Used
* Python
* FastAPI
* SQLAlchemy
* SQLite
* JWT Authentication
* Swagger UI
* ReDoc
---
## Project Structure
```text
app/
│
├── auth/
│ ├── dependencies.py
│ ├── hashing.py
│ └── jwt_handler.py
│
├── routers/
│ ├── auth.py
│ ├── jobs.py
│ └── applications.py
│
├── database.py
├── models.py
├── schemas.py
└── main.py
```
---
## Installation
1. Clone the repository
```bash
git clone
```
2. Create virtual environment
```bash
python -m venv venv
```
3. Activate virtual environment
Windows:
```bash
venv\Scripts\activate
```
4. Install dependencies
```bash
pip install -r requirements.txt
```
5. Run the application
```bash
uvicorn app.main:app --reload
```
---
## API Documentation
Swagger UI:
127.0.0.1
ReDoc:
127.0.0.1
---
## Sustainable Development Goal
This project contributes to SDG 8 (Decent Work and Economic Growth) by providing a digital platform that connects employers with youth job seekers in Sierra Leone.
---
## Author
Yusuf Deen Adesina
Semester 4 Information Technology Student
Limkokwing University Sierra Leone