MrUnfazed/Basic-Student-Management-Project
1
๐ Student Management System
A modern, comprehensive web-based student management system built with Python and Gradio. This application provides an intuitive interface for generating detailed student reports combining academic performance, sports activities, and attendance records.
โจ Features
๐ Comprehensive Student Profiles
- Personal Information Management: Name, father's name, age, date of birth, contact details
- Academic Records: Roll number, department, semester tracking
- Multi-subject Grade Tracking: Physics, AICT, Programming, English, Mathematics, and more
- Laboratory Scores: Separate tracking for practical subjects
๐ Sports Performance Tracking
- Multi-sport Support: Football, Cricket, Table Tennis, Hockey
- Flexible Participation: Only tracks sports the student actually participated in
- Automatic Score Calculation: Computes total sports performance scores
๐ Attendance Management
- Percentage-based Tracking: Easy-to-understand attendance percentages
- Input Validation: Ensures attendance values stay within 0-100% range
๐จ Modern User Interface
- Responsive Design: Works seamlessly on desktop and mobile devices
- Gradient Styling: Beautiful purple-blue gradient theme with glassmorphism effects
- Interactive Elements: Hover effects, smooth animations, and micro-interactions
- Dark Mode Support: Automatic theme adaptation
- Professional Typography: Inter font family for modern aesthetics
๐ Quick Start
Prerequisites
- Python 3.8 or higher
- pip (Python package installer)
Installation
- Clone the repository
git clone <repository-url>
cd student-management-system- Install dependencies
pip install -r requirements.txt- Run the application
python app.py- Access the application
- Local:
http://localhost:7860 - Public URL will be displayed in terminal (if share=True)
๐๏ธ Technical Architecture
Object-Oriented Design
The application follows clean OOP principles with multiple inheritance:
Person (Base Class)
โโโ Student (Inherits from Person)
โโโ Test (Inherits from Student)
โโโ Sport (Inherits from Student)
โโโ Attendance (Inherits from Student)
โโโ Result (Multiple Inheritance from Test, Sport, Attendance)Class Structure
๐ค Person Class
- Purpose: Base class for personal information
- Attributes: name, father's name, age, DOB, contact, email
- Methods: Setters and display functionality
๐ Student Class
- Purpose: Academic information management
- Attributes: roll number, department, semester
- Inheritance: Extends Person class
๐ Test Class
- Purpose: Academic performance tracking
- Subjects: Physics, AICT, Programming, English, Islamic Studies, Calculus
- Features: Individual subject scores and lab work tracking
๐ Sport Class
- Purpose: Sports performance management
- Sports: Football, Cricket, Table Tennis, Hockey
- Features: Optional participation tracking and automatic total calculation
๐ Attendance Class
- Purpose: Attendance record management
- Features: Percentage-based tracking with validation
๐ Result Class
- Purpose: Comprehensive report generation
- Inheritance: Multiple inheritance from Test, Sport, and Attendance
- Features: Total marks calculation and formatted report output
๐ฑ User Interface
Input Sections
- Personal Information: Student demographic data
- Academic Information: Educational details
- Test Scores: Subject-wise academic performance (0-100 scale)
- Sports Performance: Optional sports participation scores
- Attendance: Percentage-based attendance tracking
Output Features
- Formatted Reports: Professional-looking comprehensive student reports
- Copy Functionality: Easy report copying for external use
- Real-time Generation: Instant report creation upon form submission
๐ ๏ธ Deployment
Hugging Face Spaces
This application is optimized for deployment on Hugging Face Spaces:
- Create a new Space on Hugging Face
- Upload
app.pyandrequirements.txt - The application will automatically deploy
Local Development
# Install in development mode
pip install -e .
# Run with auto-reload
python app.pyDocker Deployment
FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 7860
CMD ["python", "app.py"]๐ Requirements
Python Dependencies
gradio==4.44.0
numpy==1.24.3
pandas==2.0.3System Requirements
- RAM: Minimum 512MB
- Storage: 100MB free space
- Network: Internet connection for font loading
๐ฏ Use Cases
Educational Institutions
- Schools: K-12 student record management
- Colleges: University student tracking
- Coaching Centers: Performance monitoring
Administrative Tasks
- Report Generation: Quick student performance reports
- Data Entry: Streamlined information input
- Performance Analysis: Comprehensive student evaluation
๐ค Contributing
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
Development Guidelines
- Follow PEP 8 style guidelines
- Add comments for complex logic
- Test all features before submitting
- Update documentation as needed
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ฅ Authors
- MrUnfazed - Creator and Lead Developer
๐ Acknowledgments
- Gradio Team - For the amazing web interface framework
- Google Fonts - For the Inter font family
- CSS Community - For glassmorphism design inspiration
๐ Support
If you encounter any issues or have questions:
- Check existing issues in the repository
- Create a new issue with detailed description
๐ Version History
- v1.0.0 - Initial release with core functionality
- v1.1.0 - Added modern UI with animations
- v1.2.0 - Enhanced responsive design
๐ง Roadmap
Upcoming Features
- [ ] Database Integration - Persistent data storage
- [ ] PDF Export - Generate downloadable reports
- [ ] Bulk Import - CSV/Excel data import functionality
- [ ] Analytics Dashboard - Performance visualization charts
- [ ] Multi-language Support - Internationalization
- [ ] User Authentication - Secure access control
<div align="center">
Built with โค๏ธ using Python & Gradio by MrUnfazed
</div>
