Skip to content

Commit 7d894d8

Browse files
Update readme
1 parent 4516cb8 commit 7d894d8

1 file changed

Lines changed: 261 additions & 0 deletions

File tree

ai_academic_fixed/REAMDME.md

Lines changed: 261 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,261 @@
1+
# 🎓 AcadAI — AI Academic Performance Prediction & Career Guidance System
2+
3+
<div align="center">
4+
5+
![Python](https://img.shields.io/badge/Python-3.10+-3776AB?style=for-the-badge&logo=python&logoColor=white)
6+
![PyQt5](https://img.shields.io/badge/PyQt5-GUI-41CD52?style=for-the-badge&logo=qt&logoColor=white)
7+
![scikit-learn](https://img.shields.io/badge/scikit--learn-ML-F7931E?style=for-the-badge&logo=scikit-learn&logoColor=white)
8+
![SQLite](https://img.shields.io/badge/SQLite-Database-003B57?style=for-the-badge&logo=sqlite&logoColor=white)
9+
![License](https://img.shields.io/badge/License-MIT-green?style=for-the-badge)
10+
11+
**A professional AI-powered desktop application that predicts student GPA, detects weak subjects, recommends careers, and generates personalized study plans — built as a 4th Semester BSAI Project.**
12+
13+
[Features](#-features) · [Screenshots](#-screenshots) · [Installation](#-installation) · [Usage](#-usage) · [Tech Stack](#-tech-stack) · [Project Structure](#-project-structure)
14+
15+
</div>
16+
17+
---
18+
19+
## 📌 Overview
20+
21+
**AcadAI** is an intelligent academic analytics platform built for university students. It uses **Machine Learning** to predict future GPA, detect at-risk students, recommend career paths based on academic profile, and generate AI-powered study plans — all inside a clean, professional desktop GUI.
22+
23+
> Built with Python · PyQt5 · scikit-learn · SQLite · Matplotlib
24+
25+
---
26+
27+
## ✨ Features
28+
29+
| Feature | Description |
30+
|---|---|
31+
| 📊 **GPA Prediction** | Random Forest + Ridge Regression model predicts next semester GPA with ~91% confidence |
32+
| ⚠️ **Weak Subject Detection** | ML model identifies subjects needing attention and suggests improvement strategies |
33+
| 🎯 **Career Recommendation** | AI matches student profile (GPA + skills + interests) to best-fit career paths |
34+
| 🧠 **Skill Roadmap** | Personalized step-by-step learning roadmap for chosen career goal |
35+
| 📅 **Study Planner** | AI generates weekly study schedules prioritizing weak subjects |
36+
| 🤖 **AI Chatbot** | NLP-based academic assistant that reads live database and answers student queries |
37+
| 📈 **Analytics Dashboard** | Interactive charts: GPA trends, subject radar, risk distribution, attendance analysis |
38+
| 👥 **Student Management** | Add, edit, import students via CSV — full CRUD with SQLite backend |
39+
| 📤 **CSV Import/Export** | Bulk import 60+ students from CSV; export reports |
40+
41+
---
42+
43+
## 🖼️ Screenshots
44+
45+
> _Add screenshots of your running app here after launch_
46+
47+
```
48+
Dashboard → Analytics → Career Page → Chatbot → Study Planner
49+
```
50+
51+
---
52+
53+
## 🛠️ Installation
54+
55+
### Prerequisites
56+
57+
Make sure you have **Python 3.10+** installed. Check with:
58+
59+
```bash
60+
python --version
61+
```
62+
63+
### Step 1 — Clone the Repository
64+
65+
```bash
66+
git clone https://github.com/your-username/acadai-academic-system.git
67+
cd acadai-academic-system
68+
```
69+
70+
### Step 2 — Install Dependencies
71+
72+
```bash
73+
pip install -r requirements.txt
74+
```
75+
76+
### Step 3 — Generate Sample Dataset (First Time Only)
77+
78+
```bash
79+
python generate_dataset.py
80+
```
81+
82+
This creates `datasets/student_data.csv` with **60 realistic student records**.
83+
84+
### Step 4 — Run the Application
85+
86+
```bash
87+
python main.py
88+
```
89+
90+
---
91+
92+
## 📦 Requirements
93+
94+
```
95+
PyQt5>=5.15.0
96+
matplotlib>=3.7.0
97+
scikit-learn>=1.3.0
98+
pandas>=2.0.0
99+
numpy>=1.24.0
100+
```
101+
102+
Install all at once:
103+
104+
```bash
105+
pip install PyQt5 matplotlib scikit-learn pandas numpy
106+
```
107+
108+
---
109+
110+
## 🗂️ Project Structure
111+
112+
```
113+
acadai-academic-system/
114+
115+
├── main.py # App entry point
116+
├── config.py # Colors, careers, global settings
117+
├── generate_dataset.py # CSV dataset generator (run once)
118+
├── requirements.txt
119+
├── README.md
120+
121+
├── database/
122+
│ ├── __init__.py
123+
│ └── db_manager.py # SQLite CRUD + stats queries
124+
125+
├── models/
126+
│ ├── __init__.py
127+
│ ├── prediction_model.py # GPAPredictor — Random Forest ensemble
128+
│ └── training.py # Model training from CSV data
129+
130+
├── chatbot/
131+
│ ├── __init__.py
132+
│ └── chatbot_engine.py # NLP chatbot — reads live DB data
133+
134+
├── analytics/
135+
│ ├── __init__.py
136+
│ └── analytics_engine.py # Stats engine for dashboard
137+
138+
├── recommender/
139+
│ ├── __init__.py
140+
│ ├── career_recommender.py # Career match scoring
141+
│ └── study_planner.py # Weekly study plan generator
142+
143+
├── ui/
144+
│ ├── __init__.py
145+
│ ├── main_window.py # Main app window + navigation
146+
│ ├── dashboard_page.py # Overview + metric cards
147+
│ ├── analytics_page.py # Charts + AI predictor
148+
│ ├── student_page.py # Student management table
149+
│ ├── career_page.py # Career recommendations
150+
│ ├── skills_page.py # Skill roadmap
151+
│ ├── planner_page.py # Study planner
152+
│ ├── chatbot_page.py # AI chatbot interface
153+
│ └── components/
154+
│ ├── __init__.py
155+
│ ├── cards.py # Reusable card widgets
156+
│ ├── charts.py # Matplotlib chart components
157+
│ └── sidebar.py # Navigation sidebar
158+
159+
├── assets/
160+
│ └── styles/
161+
│ └── theme.py # Global QSS stylesheet
162+
163+
└── datasets/
164+
└── student_data.csv # Auto-generated by generate_dataset.py
165+
```
166+
167+
---
168+
169+
## 🤖 AI & ML Concepts Used
170+
171+
| Concept | Implementation |
172+
|---|---|
173+
| **Random Forest** | GPA prediction model (`models/prediction_model.py`) |
174+
| **Ridge Regression** | Ensemble GPA prediction alongside Random Forest |
175+
| **Classification** | Student risk level detection (High / Medium / Low) |
176+
| **Recommendation System** | Career matching based on GPA + skills + interests |
177+
| **NLP (Keyword Matching)** | Chatbot intent detection and response generation |
178+
| **Data Analytics** | Performance trend analysis across semesters |
179+
| **Predictive Modeling** | Future GPA projection for next 2 semesters |
180+
181+
---
182+
183+
## 📊 Dataset
184+
185+
The included dataset generator (`generate_dataset.py`) creates realistic student records with:
186+
187+
| Column | Description |
188+
|---|---|
189+
| `name` | Student full name |
190+
| `email` | University email |
191+
| `semester` | Current semester (1–8) |
192+
| `attendance` | Attendance percentage (50–98%) |
193+
| `quiz` | Average quiz score (35–96/100) |
194+
| `assignment` | Assignment score (38–96/100) |
195+
| `midterm` | Midterm exam score (32–95/100) |
196+
| `study_hours` | Daily study hours (0.5–7.0) |
197+
| `gpa` | Calculated GPA (0.0–4.0) |
198+
| `interest` | Career interest area |
199+
| `skills` | Current technical skills |
200+
201+
**GPA Formula:**
202+
```
203+
GPA = (Attendance×0.20 + Quiz×0.20 + Assignment×0.20 + Midterm×0.30 + StudyHours×0.10) × 4.0
204+
```
205+
206+
---
207+
208+
## 💬 Chatbot — How It Works
209+
210+
The AI chatbot reads **live data from the SQLite database** and generates dynamic responses. It is not hardcoded.
211+
212+
**Example questions you can ask:**
213+
```
214+
"How can I improve my GPA?"
215+
"Who are the top students?"
216+
"Which career suits me?"
217+
"What skills should I learn for AI?"
218+
"How many students are at risk?"
219+
"Generate a study plan"
220+
"What is the class average GPA?"
221+
```
222+
223+
---
224+
225+
## 🎯 Career Recommendation System
226+
227+
Career matches are scored using a weighted algorithm:
228+
229+
```python
230+
match_score = (
231+
gpa_score × 0.40 + # Academic performance
232+
skills_match × 0.35 + # Matching skills
233+
interest_match × 0.25 # Career interest alignment
234+
)
235+
```
236+
237+
---
238+
239+
## 👨‍💻 Author
240+
241+
**Ali Khan**
242+
BS Artificial Intelligence — Semester 4
243+
COMSATS University Islamabad
244+
245+
---
246+
247+
## 📄 License
248+
249+
This project is licensed under the **MIT License** — feel free to use, modify, and distribute.
250+
---
251+
## 🙏 Acknowledgements
252+
253+
- [scikit-learn](https://scikit-learn.org/) — Machine Learning library
254+
- [PyQt5](https://riverbankcomputing.com/software/pyqt/) — Desktop GUI framework
255+
- [Matplotlib](https://matplotlib.org/) — Data visualization
256+
- [Kaggle](https://kaggle.com/) — Dataset inspiration
257+
258+
---
259+
<div align="center">
260+
<b>⭐ Star this repo if you found it helpful!</b>
261+
</div>

0 commit comments

Comments
 (0)