A robust and user-friendly course enrollment system built with Java, featuring student management, course administration, and comprehensive reporting.
Features • Installation • Usage • Documentation • Contributing • License
- Secure login system
- Role-based access control (Student/Admin)
- Password encryption
- Session management
- Course creation and modification
- Enrollment limits
- Schedule management
- Prerequisites handling
- Course statistics
- Course enrollment/withdrawal
- Schedule viewing
- Grade tracking
- Progress reports
- Study schedule planning
- Enrollment statistics
- Course popularity reports
- Student progress tracking
- Department-wise analytics
- Custom report generation
- Reliable data storage
- Automatic backups
- Data export capabilities
- CSV report generation
- Java JDK 17 or higher
- Maven 3.8+
- 2GB RAM minimum
- 500MB free disk space
# Clone the repository
git clone https://github.com/ahmershahdev/course-enrollment-system.git
# Navigate to project directory
cd course-enrollment-system
# Build the project
mvn clean install
# Run the application
mvn exec:java- Launch the application
- Choose "Register" for new users or "Login" for existing users
- Enter your credentials
- Access the student portal features:
- View available courses
- Enroll in courses
- Check your schedule
- Track your progress
- Login with admin credentials
- Access administrative features:
- Manage courses
- View system statistics
- Generate reports
- Handle student enrollments
The system follows a layered architecture:
- Model Layer: Contains all entity classes
- Service Layer: Business logic implementation
- Data Layer: Handles data persistence
- UI Layer: Command-line interface
src/
├── main/
│ └── java/
│ └── com/
│ └── courseenrollment/
│ ├── model/
│ │ ├── Student.java
│ │ ├── Course.java
│ │ └── ...
│ └── service/
│ ├── AuthenticationService.java
│ ├── CourseManagementService.java
│ └── ...
- User Authentication
- Service Layer Processing
- Data Persistence
- Response Generation
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to your branch
- Create a Pull Request
Please read our Contributing Guidelines for details.
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to all contributors
- Special thanks to the Java community
- Built with ❤️ by Syed Ahmer Shah
Syed Ahmer Shah - @ahmershahdev
Project Link: https://github.com/ahmershahdev/course-enrollment-system
