A Student Management Portal built with Flask, SQLAlchemy, and Bootstrap. The application supports user authentication, role-based authorization, and complete CRUD operations for managing student records.
- User Registration
- User Login
- User Logout
- Password Hashing using Werkzeug
- Session Management with Flask-Login
- Role-Based Access Control (RBAC)
- Admin-only access for:
- Add Student
- Edit Student
- Delete Student
- Students can view student records after logging in
- Add Student
- View Students
- Edit Student
- Delete Student
- Bootstrap 5 UI
- Responsive Navigation Bar
- Flash Messages
- Jinja2 Templates
- Python
- Flask
- Flask-SQLAlchemy
- Flask-Login
- SQLite
- Bootstrap 5
- HTML5
- Jinja2
Student-Management-Portal/
│
├── models/
│ ├── student.py
│ └── user.py
│
├── routes/
│ ├── student_routes.py
│ └── auth_routes.py
│
├── templates/
│ ├── base.html
│ ├── home.html
│ ├── students.html
│ ├── add_student.html
│ ├── edit_student.html
│ ├── login.html
│ ├── register.html
│ └── about.html
│
├── static/
│ ├── css/
│ ├── js/
│ └── images/
│
├── app.py
├── config.py
├── extensions.py
├── decorators.py
├── requirements.txt
└── README.md
git clone https://github.com/satyaprime1/Student-Management-Portal.git
cd Student-Management-Portalpython -m venv venvWindows
venv\Scripts\activateMac/Linux
source venv/bin/activatepip install -r requirements.txtpython app.pyOpen your browser and visit:
http://127.0.0.1:5000
The application automatically creates an administrator account when run for the first time.
Username
admin
Password
admin123
- ✅ User Registration
- ✅ User Login
- ✅ User Logout
- ✅ Password Hashing
- ✅ Role-Based Authorization
- ✅ Admin Dashboard Access Control
- ✅ CRUD Operations
- ✅ SQLAlchemy ORM
- ✅ Flask Blueprints
- ✅ Responsive Bootstrap UI
- Search Students
- Pagination
- Profile Management
- Email Verification
- Password Reset
- Dashboard Statistics
- Student Photo Upload
- REST API
- Docker Deployment
Satya Harsha
GitHub: https://github.com/satyaprime1
This project is licensed under the MIT License.