A comprehensive web-based platform that uses machine learning to predict university admission chances based on GPA and standardized test scores. Built with Flask, featuring both student and administrator interfaces with modern, responsive design.
π See detailed Windows setup guide: WINDOWS_SETUP_GUIDE.md
# Clone the project
git clone [repository-url]
cd admission-predictor
# Set up virtual environment
python3 -m venv admission_env
source admission_env/bin/activate
# Install dependencies
pip install -r requirements.txt
# Run the application
python app.py
- Open your browser and go to:
http://localhost:5000
- Admin Login: Username:
admin
, Password:admin123
- Student Registration: Click "Register" to create a student account
- Beautiful Landing Page with modern animations
- User Registration & Authentication with secure password hashing
- AI-Powered Predictions using Logistic Regression (76.5% accuracy)
- Interactive Dashboard with academic stats and prediction history
- Real-time Prediction Tool with user-friendly error handling
- Profile Management and academic information updates
- Analytics Dashboard showing performance trends
- Comprehensive Admin Panel with modern design
- Student Management - view, edit, delete student accounts
- System Analytics with charts and performance metrics
- Prediction Monitoring - view all predictions across the platform
- User Data Management with comprehensive oversight
- Settings Configuration for system preferences
- Logistic Regression Model trained on 2000 synthetic samples
- Feature Normalization using StandardScaler
- Realistic Probability Calculations (0-100%)
- Confidence Levels (Very Low, Low, Medium, High, Very High)
- Personalized Recommendations based on academic performance
- Backend: Python 3.8+, Flask 2.0+
- Database: SQLite (file-based, no setup required)
- ML Library: scikit-learn (Logistic Regression + StandardScaler)
- Frontend: HTML5, CSS3, JavaScript (vanilla)
- Styling: Custom CSS with modern design principles
- Security: Werkzeug password hashing, Flask sessions
admission-predictor/
βββ app.py # Main Flask application
βββ requirements.txt # Python dependencies
βββ README.md # Main documentation
βββ WINDOWS_SETUP_GUIDE.md # Windows-specific setup guide
βββ admission_predictor.db # SQLite database (auto-created)
βββ templates/ # HTML templates
βββ landing.html # Landing page
βββ login.html # Login form
βββ register.html # Registration form
βββ student_dashboard.html # Student main dashboard
βββ admin_dashboard.html # Admin main dashboard
βββ admin_analytics.html # Admin analytics page
βββ admin_predictions.html # Admin predictions monitoring
βββ admin_settings.html # Admin settings page
βββ edit_student.html # Student editing form
βββ analytics.html # Student analytics page
βββ history.html # Student prediction history
βββ settings.html # Student settings page
Username: admin
Password: admin123
Role: Administrator
Students can create accounts with:
- Unique username and email
- Secure password (hashed with Werkzeug)
- First and last name
- Academic information (GPA, test scores)
- Algorithm: Logistic Regression with StandardScaler normalization
- Training Data: 2000 synthetic admission records
- Features: GPA (0.0-4.0) and Test Score (200-1600)
- Accuracy: 76.5%
- Admission Rate: 55.35%
- GPA range: 0.0 - 4.0
- Test Score range: 200 - 1600
- Real-time error handling with user-friendly messages
- Probability: Percentage chance of admission
- Confidence Level: Based on model certainty
- Recommendations: Personalized improvement suggestions
- Password Security: Werkzeug PBKDF2 hashing
- Session Management: Secure Flask sessions
- Input Validation: Server-side validation for all inputs
- Role-based Access: Student/Admin permission separation
- SQL Injection Protection: Parameterized database queries
- Primary key, username, email, password hash
- Personal information (first name, last name)
- Role assignment (student/admin)
- Academic data (GPA, test scores, entry scores)
- Timestamps and activity status
- User association and academic inputs
- Prediction results and probability scores
- Confidence levels and timestamps
- Complete audit trail of all predictions
This platform demonstrates:
- β Full-Stack Web Development with Flask
- β Machine Learning Integration with scikit-learn
- β Database Design with SQLite
- β User Authentication and role-based access
- β Modern Web Design with responsive layouts
- β API Development with RESTful endpoints
- β Error Handling and input validation
- β Production-Ready Architecture
# Activate virtual environment
source admission_env/bin/activate # macOS/Linux
admission_env\Scripts\activate # Windows
# Run in debug mode
python app.py
- Switch
debug=False
inapp.py
- Use PostgreSQL instead of SQLite for larger datasets
- Implement proper logging and monitoring
- Add SSL certificates for HTTPS
- Configure reverse proxy (nginx/Apache)
- Register a new account on the registration page
- Login with your credentials
- Navigate to the prediction tool in your dashboard
- Enter your GPA (0.0-4.0) and test scores (200-1600)
- Review your admission prediction and recommendations
- Track your progress in the history and analytics sections
- Login with admin credentials (admin/admin123)
- Monitor system-wide statistics in the analytics panel
- Manage student accounts through the student management interface
- Review all predictions across the platform
- Configure system settings and preferences
- Python not found: Ensure Python is added to system PATH
- Port conflicts: Change port in
app.py
if 5000 is occupied - Permission errors: Run terminal/command prompt as administrator
- Database issues: Delete
admission_predictor.db
to reset
- Recommended: Chrome, Firefox, Edge (latest versions)
- Mobile: Fully responsive design works on all devices
- Model training occurs once at startup (~2-3 seconds)
- Database operations optimized for educational use
- Suitable for 100+ concurrent users
This project is designed for educational purposes and academic submissions. Feel free to:
- β Use for university coursework and final projects
- β Modify and extend functionality
- β Include in academic portfolios
- β Learn from the codebase structure
Your University Admission Predictor Platform is production-ready!
Quick Commands:
cd your-project-folder
source admission_env/bin/activate # or admission_env\Scripts\activate on Windows
python app.py
# Open http://localhost:5000
Default Admin: admin
/ admin123
Perfect for your finals project! πβ¨
For Windows users, check out the detailed Windows Setup Guide for step-by-step instructions.