CAMS is a Java console application developed for the SC2002 Object-Oriented Design & Programming course at Nanyang Technological University. The application focuses on reusability, extensibility, and maintainability, streamlining the management of camp applications and user interactions.
Fan Tianyu |
Clayton Fernalo |
Liau Zheng Wei |
Christopher Angelo |
Wang Yangming |
- User Authentication: Secure login and password management.
- Role-Based Access: Different interfaces for students, committee members, and staff.
- Camp Management: Creation, editing, and deletion of camp information.
- Participant Management: Registration and deregistration for camps.
- Enquiry Handling: Management of enquiries, including creation, editing, and deletion.
- Reports Generation: Automated generation of reports for camp participation, enquiries, and committee performance.
- Extensible UI: Modular user interface components for flexibility.
- Repository Pattern: For efficient data storage and retrieval.
- Single Responsibility Principle (SRP)
- Focuses on having each class responsible for a single purpose or actor.
- Open Closed Principle (OCP)
- Software entities should be open for extension but closed for modification.
- Liskov Substitution Principle (LSP)
- Subtypes must be substitutable for their base types.
- Interface Segregation Principle (ISP)
- Large interfaces should be split into smaller, more specific ones.
- Dependency Injection Principle (DIP)
- High-level modules should not depend on low-level modules but on abstractions.
- Language: Java
- Data Storage: CSV files for data storage
- Java JDK 21
- Run the application using the command:
java -jar out/artifacts/sc2002_test_jar2/sc2002_test.jar
- Follow the on-screen instructions to interact with the system.
For detailed documentation, refer to the ./docs
directory.
Class diagrams can be found in the ./diagrams
folder:
We are committed to ensuring a welcoming and inclusive environment for everyone. We expect all participants in this project to adhere to our Code of Conduct. Please refer to the Code of Conduct for full details on our expectations and guidelines.
Copyright (c) SCSX Group 1. All rights reserved.
Licensed under the MIT license.