Create app.properties in the application directory:
data.directory=./data
backup.directory=./data/backup
debug.mode=false
max.backup.files=5- Navigate to the project directory
- Compile the Java files:
javac -d bin src/edu/ccrm/*.java src/edu/ccrm/*/*.java
- Run the main class:
java -cp bin edu.ccrm.CCRMApp
- Add Student
Enter student ID: 1001 Enter first name: John Enter last name: Doe Enter email: john.doe@example.com - View Student: Search by ID or list all
- Update Student: Modify existing records
- Delete Student: Remove with enrollment check
- Add Course
Enter course code: CS101 Enter course name: Introduction to Programming Enter capacity: 30 Enter semester: FALL_2025 - View Course: Search by code or list all
- Update Course: Modify course details
- Delete Course: Remove if no active enrollments
- Enroll Student
Enter student ID: 1001 Enter course code: CS101 Enter semester: FALL_2025 - Drop Course: Remove enrollment
- View Enrollments: By student or course
- Update Grades: Record/modify grades
- Import Data: Load from CSV files
- Export Data: Save to CSV format
- Backup Data: Create timestamped backup
- Restore Backup: Recover from backup file
id,first_name,last_name,email,enrollment_date
1001,John,Doe,john.doe@example.com,2025-09-01
1002,Jane,Smith,jane.smith@example.com,2025-09-01code,name,capacity,instructor,semester
CS101,Introduction to Programming,30,Dr. Brown,FALL_2025
MATH201,Advanced Calculus,25,Dr. Smith,FALL_2025student_id,course_code,semester,grade
1001,CS101,FALL_2025,A
1002,MATH201,FALL_2025,B+-
File Permissions
- Ensure write access to data directory
- Check backup directory permissions
-
Data Validation
- Student ID format: 4 digits
- Course code format: 2-4 letters + 3 digits
- Valid email format required
- Grade values: A, A-, B+, B, B-, C+, C, C-, D, F
-
Enrollment Rules
- No duplicate enrollments
- Course capacity limits
- Pre-requisite validation
Enable debug mode in app.properties for detailed logging:
debug.mode=true