CCRM is a console-based Java application designed for an educational institute to manage students, courses, enrollments, and grades. It serves as a comprehensive demonstration of core Java SE features, Object-Oriented Programming (OOP) principles, modern Java APIs, and fundamental design patterns.
- Student Management: Add, list, and view student profiles.
- Course Management: Add, list, and filter courses by department or semester.
- Enrollment & Grading: Enroll students in courses, assign grades, and compute GPA.
- Transcript Generation: Print a full academic transcript for any student.
- File Utilities:
- Export student and course data to CSV-like files.
- Create timestamped backups of all data files.
- (Optional) Import data from pre-formatted CSV files.
- Robust & Modern Codebase:
- OOP: Encapsulation, Inheritance, Abstraction, Polymorphism.
- Design Patterns: Singleton (for services), Builder (for model creation).
- Modern Java: NIO.2 for file I/O, Streams API for data manipulation, Date/Time API for timestamps.
- Core Concepts: Demonstrates enums, lambdas, recursion, and comprehensive exception handling.
The project is organized into logical packages to ensure separation of concerns:
com.ccrm.cli
: Handles all command-line interface logic.com.ccrm.model
: Contains all data entities (POJOs), enums, and abstract classes.com.ccrm.service
: Manages business logic and data persistence (in-memory).com.ccrm.util
: Provides utility functions, primarily for file operations.com.ccrm.exception
: Defines custom exceptions for specific error conditions.
- Java Development Kit (JDK) 11 or higher.
- An IDE like IntelliJ, Eclipse, or VS Code (recommended), or just a terminal.
-
Clone the repository:
git clone <your-repository-url> cd CCRM
-
Compile the code: Navigate to the
src
directory and run the Java compiler.# From the CCRM/src directory javac com/ccrm/Main.java -d ../bin
(Note: Compiling manually can be complex due to packages. It's highly recommended to open the project in an IDE and run it from there.)
-
Run the application: From the
bin
directory that was created, run the main class.# From the CCRM/bin directory java com.ccrm.Main
- Open your IDE (e.g., IntelliJ IDEA).
- Select "Open" or "Import Project" and choose the cloned
CCRM
directory. - Locate the
src/com/ccrm/Main.java
file. - Right-click on the file and select "Run 'Main.main()'".