Personal project developed to simplify university orientation in Tunisia using Python, FastAPI, Streamlit, and data-driven recommendations.
# 🎓 Wejheti — AI-Powered University Orientation Assistant
# 🎓 Wejheti — وجهتي
### Helping Tunisian students choose the right university path
AI-powered recommendation system built with Machine Learning, FastAPI, and Streamlit.
---
## 📖 Overview
Choosing a university program after obtaining the Tunisian Baccalaureate can be challenging.
**Wejheti** is an AI-powered university orientation assistant that helps students discover suitable university programs based on their Bac type and score.
The application leverages historical admission data, data processing techniques, and a recommendation engine to provide personalized academic guidance.
### Key Objectives
* Help students make informed academic decisions
* Simplify access to university admission information
* Provide personalized recommendations
* Showcase practical Machine Learning and Data Engineering skills
---
## 🚀 Features
### 🎯 Personalized Orientation
* Select Bac type
* Enter Bac score
* Receive tailored recommendations
### 📊 Recommendation Categories
#### 🚀 Ambitious Programs
Programs requiring a score slightly above the student's score.
#### ✅ Realistic Programs
Programs matching the student's academic profile.
#### 🛡️ Safe Programs
Programs with admission thresholds below the student's score.
### 🌐 REST API
The application exposes a FastAPI backend with:
* GET /bac_types
* GET /universities
* POST /orientation
* GET /
### 📚 Interactive Documentation
Swagger UI available at:
```text
localhost
```
---
## 🏗️ System Architecture
```text
Historical Admission Data
│
▼
Data Cleaning
│
▼
Feature Engineering
│
▼
Recommendation Engine
│
▼
FastAPI API
│
▼
Streamlit Frontend
│
▼
Student Recommendations
```
---
## 📂 Project Structure
```text
Wejheti/
│
├── app/
│ └── streamlit_app.py
│
├── src/
│ ├── api/
│ │ ├── main.py
│ │ └── schemas.py
│ │
│ ├── data/
│ │ └── cleaner.py
│ │
│ ├── features/
│ │ └── engineer.py
│ │
│ └── model …