A comprehensive desktop application built with Java Swing and MySQL that provides complete academic management solutions for educational institutions.
git checkout sprint#5- Role-based Access Control: Admin, Teacher, and Student roles
- Secure Login: SHA-256 password encryption with salt
- Session Management: Automatic user session handling
- Admin Dashboard: Complete system administration
- User Account Creation: Bulk user account management
- Account Display & Management: View and modify user accounts
- Class Management: Create, update, and manage classes
- Student Enrollment: Enroll students in classes
- Attendance Tracking: Real-time attendance with analytics charts
- Grade Management: Comprehensive grade tracking with Excel import/export
- Course Management: Manage course offerings
- Curriculum Tracking: Monitor academic progress
- Syllabus Management: Course syllabus and materials
- Schedule Management: Class schedules and timetables
- Quiz Interface: Interactive quiz system
- Timer Functionality: Countdown timer for exams
- Lifeline Features: 50-50 option to eliminate wrong answers
- Auto-submit: Automatic submission when time expires
- Score Calculation: Automated scoring and results
- Real-time Chat: AI-powered chat system for student support
- Messaging System: Internal communication platform
- Attendance Charts: Visual attendance analytics using JFreeChart
- Performance Reports: Student performance tracking
- Excel Integration: Import/export data using Apache POI
- Credits Performance: Track student credit completion
- Modern Design: Gradient panels and custom UI components
- Responsive Layout: Adaptive interface design
- Dashboard Views: Role-specific dashboards
- Custom Components: Gradient buttons and date labels
- Frontend: Java Swing, AWT
- Backend: Java Core, JDBC
- Database: MySQL
- Libraries:
mysql-connector-j-8.0.33.jar- Database connectivityjfreechart-1.5.0.jar- Chart generationApache POI- Excel file handlingGson- JSON processingKGradientPanel.jar- Custom UI components
src/
βββ model/ # Data models
β βββ Student.java
β βββ Classroom.java
β βββ CreditsPerformance.java
β βββ ClassesManager.java
βββ view/ # User interface
β βββ Admin/ # Admin views
β βββ Student/ # Student views
β βββ Teacher/ # Teacher views
β βββ style/ # Custom UI components
βββ controller/ # Business logic
β βββ Admin/ # Admin controllers
β βββ Student/ # Student controllers
β βββ Teacher/ # Teacher controllers
β βββ DatabaseConnection.java
βββ Assert/ # Resources and libraries
- Java 8 or higher
- MySQL Server
- Eclipse IDE (recommended)
-
Clone the repository
git clone <repository-url> cd StudentManagementSystem
-
Checkout Sprint #5
git checkout sprint#5
-
Database Setup
- Create MySQL database:
spmdatabase11 - Import database schema
- Update connection details in
DatabaseConnection.java
- Create MySQL database:
-
Library Setup
- Ensure all JAR files are in
src/Assert/Library/ - Configure Eclipse project classpath
- Ensure all JAR files are in
-
Run the Application
# From Eclipse: Run LoginView.java # Or compile and run: javac -cp "src/Assert/Library/*" src/view/Admin/LoginView.java java -cp "src/Assert/Library/*:bin" view.Admin.LoginView
- Create and manage user accounts
- View system analytics and reports
- Manage classes and academic settings
- Access attendance rate charts
- Manage assigned classes
- Take attendance
- Input and manage grades
- View student performance
- Access teaching schedule
- View personal dashboard
- Check class schedule
- Take online examinations
- View grades and transcripts
- Access course materials
- Use chat support system
Update connection details in src/controller/DatabaseConnection.java:
private static final String URL = "jdbc:mysql://localhost:3306/spmdatabase11";
private static final String USER = "your_username";
private static final String PASSWORD = "your_password";- Admin: Check database
accountstable - Teacher: Check database
accountstable - Student: Check database
accountstable
- Question Management: Store questions in database
- Timer Control: Configurable exam duration
- Answer Validation: Automatic answer checking
- Results Display: Immediate score calculation
- Real-time Tracking: Live attendance updates
- Analytics: Visual charts and statistics
- Reports: Export attendance data
- Excel Integration: Import/export grades
- Grade Calculation: Automated score computation
- Transcript Generation: Academic record management
-
Database Connection Failed
- Check MySQL server status
- Verify connection credentials
- Ensure database exists
-
Class Not Found Errors
- Verify all JAR files are in classpath
- Check Eclipse project build path
-
Login Issues
- Verify user credentials in database
- Check password encryption
- Architecture: MVC (Model-View-Controller) pattern
- Database: MySQL with JDBC
- UI Framework: Java Swing with custom components
- Build Tool: Apache Ant (build.xml included)
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions:
- Create an issue in the repository
- Contact the development team
- Check the documentation
Note: This is Sprint #5 implementation. Make sure to checkout the correct branch before running the application.