Skip to content

yogeshkumarsaini/Course-Enrollment-System

Repository files navigation

🎓 Course Enrollment System

A menu-driven console-based Java application that manages students, courses, and enrollments using OOP, file handling, auto-ID generation, and exception handling.

This project simulates a basic university course registration system and is ideal for Java practice, academic submissions, and internship portfolios.


✨ Features

👨‍🎓 Student Management

  • Add new student (Auto-generated ID)
  • View all students
  • Search student by ID

📚 Course Management

  • Add new course with capacity
  • View all courses
  • Course capacity limit

📝 Enrollment Management

  • Enroll student in a course
  • Prevent duplicate enrollment
  • Drop course
  • View all enrollments
  • Show courses of a specific student

⚙️ System Features

  • Menu-driven interface
  • Exception handling for invalid input
  • File handling (data saved after exit)
  • Persistent auto-ID after restart

🧠 Concepts Used

  • Object-Oriented Programming (OOP)
  • Encapsulation & Classes
  • Custom Exception
  • Java Serialization
  • File Handling
  • Collections (ArrayList)
  • Streams API
  • Input Validation

🗂️ Project Structure

course-enrollment-system
 ├── Student.java
 ├── Course.java
 ├── Enrollment.java
 ├── FileManager.java
 ├── InvalidChoiceException.java
 └── Main.java

▶️ How to Run

1️⃣ Compile

javac *.java

2️⃣ Run

java Main

💾 Data Storage

The system automatically creates and uses:

  • students.dat
  • courses.dat
  • enrollments.dat

These files store data so it is retained after restarting the application.


🖥️ Sample Menu

===== COURSE ENROLLMENT SYSTEM =====
1. Add Student
2. Add Course
3. Enroll Student
4. View Students
5. View Courses
6. View Enrollments
7. Search Student
8. Drop Course
9. Show Student Courses
10. Exit

🏆 Use Cases

  • Java OOP practice project
  • College mini project
  • Internship resume project
  • File handling demonstration

About

Course Enrollment System in Java with OOP, file handling, auto-ID generation, and exception handling.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages