A complete student management system built with Python, Tkinter, and Live Docker MySQL. Perfect for schools and colleges to manage students, attendance, marks, and generate reports.
- 👥 Student Management - Add, edit, search students
- 📅 Attendance Tracking - Daily attendance with subject-wise records
- 📝 Marks & Grades - Enter marks with automatic grade calculation
- 📊 Reports & Analytics - Performance and attendance reports
- 🤖 AI Assistant - Ask questions in natural language
- 🔐 Role-Based Access - Admin, Teacher, Student roles
- Used Python 3.10+ Venv
- Docker & Docker Compose
- Mysql Database
# 1. Clone the project
git clone https://github.com/immsamyak/ClassTrack.git
cd PyProject
# 2. Install dependencies
pip install -r requirements.txt
# 3. Start database
docker-compose up -d
# 4. Run application
python main.py- Install Mysql server
- Create Database
- Import class
classtrack_db.sql - Setup
localhost user root passwordondatabase_config.py
def __init__(self):
self.host = 'localhost'
self.port = 3306
self.database = 'classtrack_db'
self.username = 'admin'
self.password = 'admin123'
| Role | Username | Password |
|---|---|---|
| Admin | admin | admin123 |
| Teacher | teacher1 | teacher123 |
| Student | (roll number) | student123 |
PyProject/
├── main.py # Application entry point
├── dashboard.py # Main dashboard
├── database_config.py # Database setup
├── student_management.py # Student CRUD operations
├── attendance_management.py # Attendance tracking
├── marks_management.py # Marks and grades
├── teacher_management.py # Teacher management
├── subject_management.py # Subject management
├── ai_chatbot.py # AI assistant
└── requirements.txt # Dependencies
- Add Students: Navigate to Students → Fill form → Add Student
- Mark Attendance: Go to Attendance → Select date/subject → Mark present/absent
- Enter Marks: Go to Marks → Select exam details → Enter marks for students
- View Reports: Check Reports section for analytics
- Login: Use roll number (lowercase) as username
- View Data: Check "My Attendance", "My Marks", "My Subjects"
- AI Assistant: Ask questions like "What's my attendance?" or "Show my marks"
Ask natural language questions:
Students:
- "What's my attendance percentage?"
- "How did I do in my last exam?"
- "Show my profile"
Teachers/Admins:
- "How is the class performing?"
- "Show attendance summary"
- "List all teachers"
phpMyAdmin: http://localhost:8080
Credentials: admin / admin123
Database issues:
docker-compose down
docker-compose up -dModule errors:
pip install -r requirements.txtBCSIT 2nd Semester Team:
- @immsamyak
- @lavye
- Alisha Thapa
- Manjit Khadka
OUR LC Numbers
- Alisha Thapa- LC00014001857
- Manjit Khadka-LC00014001899
- Samyak Kumar Chaudhary- LC00014001933
- Saraswoti Shrestha- LC00014001937
Built for - BCSIT 2nd Semester Python Project









