Skip to content

codingburgas/2425-11-b-pp-student-practices-assignment-GregoryKalashnik

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

37 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ University Admission Predictor Platform

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.

Platform Preview Python Flask ML

πŸš€ Quick Start (All Platforms)

For Windows Users πŸͺŸ

πŸ“– See detailed Windows setup guide: WINDOWS_SETUP_GUIDE.md

For macOS/Linux Users 🍎🐧

# 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

Access the Platform

  1. Open your browser and go to: http://localhost:5000
  2. Admin Login: Username: admin, Password: admin123
  3. Student Registration: Click "Register" to create a student account

✨ Features Overview

🎯 Student Features

  • 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

πŸ‘¨β€πŸ’Ό Admin Features

  • 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

πŸ€– AI/ML Features

  • 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

πŸ”§ Technical Stack

  • 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

πŸ“ Project Structure

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

πŸ‘₯ User Management

Default Admin Account

Username: admin
Password: admin123
Role: Administrator

Student Registration

Students can create accounts with:

  • Unique username and email
  • Secure password (hashed with Werkzeug)
  • First and last name
  • Academic information (GPA, test scores)

πŸ€– Machine Learning Details

Model Specifications

  • 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%

Input Validation

  • GPA range: 0.0 - 4.0
  • Test Score range: 200 - 1600
  • Real-time error handling with user-friendly messages

Output Features

  • Probability: Percentage chance of admission
  • Confidence Level: Based on model certainty
  • Recommendations: Personalized improvement suggestions

πŸ›‘οΈ Security Features

  • 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

πŸ“Š Database Schema

Users Table

  • 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

Predictions Table

  • User association and academic inputs
  • Prediction results and probability scores
  • Confidence levels and timestamps
  • Complete audit trail of all predictions

πŸŽ“ Perfect for Academic Projects

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

πŸ› οΈ Development & Deployment

Local Development

# Activate virtual environment
source admission_env/bin/activate  # macOS/Linux
admission_env\Scripts\activate     # Windows

# Run in debug mode
python app.py

Production Considerations

  • Switch debug=False in app.py
  • Use PostgreSQL instead of SQLite for larger datasets
  • Implement proper logging and monitoring
  • Add SSL certificates for HTTPS
  • Configure reverse proxy (nginx/Apache)

🎯 Usage Instructions

For Students

  1. Register a new account on the registration page
  2. Login with your credentials
  3. Navigate to the prediction tool in your dashboard
  4. Enter your GPA (0.0-4.0) and test scores (200-1600)
  5. Review your admission prediction and recommendations
  6. Track your progress in the history and analytics sections

For Administrators

  1. Login with admin credentials (admin/admin123)
  2. Monitor system-wide statistics in the analytics panel
  3. Manage student accounts through the student management interface
  4. Review all predictions across the platform
  5. Configure system settings and preferences

πŸ“ž Support & Troubleshooting

Common Issues

  • 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

Browser Compatibility

  • Recommended: Chrome, Firefox, Edge (latest versions)
  • Mobile: Fully responsive design works on all devices

Performance Notes

  • Model training occurs once at startup (~2-3 seconds)
  • Database operations optimized for educational use
  • Suitable for 100+ concurrent users

πŸ“ License & Usage

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

πŸŽ‰ Ready to Launch!

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.

About

2425-11-b-pp-student-practices-assignment-GregoryKalashnik created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published