A Java command-line application that manages appointments between students and tutors at a tutoring center. Tutors publish openings for the subject they teach; students search open slots by subject, date, and time and book a session.
CSCI-UA 470 Object-Oriented Programming final project.
| Full name | NetID |
|---|---|
| Robin Chen | tc4119 |
| Robert Fang | rf2789 |
Sources sit at the repository root, in the default package.
.
├── README.md
├── docs/
│ └── diagrams/ # PlantUML sources
├── Main.java # console front end: I/O
├── AppointmentService.java
├── Result.java # the outcome an operation reports back to Main
├── SystemManager.java # static registries of all students, tutors, and openings
├── Student.java # a student and the openings they have booked
├── Tutor.java # a tutor, their subject, and the openings they offer
├── Opening.java # a time slot; booked when it holds a student
└── FileManager.java
Requires a JDK (developed against 22).
javac *.java
java Main- Proposal drafted
- Class design
- Model classes compile
- CLI in
main() - Persistence
- Use case diagram
- Sequence diagrams — one per use case
- Class diagram
All diagrams are PlantUML sources in docs/diagrams/.
| Diagram | Source |
|---|---|
| Use case | docs/diagrams/use-case-diagram.puml |
| Class | docs/diagrams/class-diagram.puml |
| UC-01 Create student | docs/diagrams/create-student-sequence.puml |
| UC-02 Create tutor | docs/diagrams/create-tutor-sequence.puml |
| UC-03 Create opening | docs/diagrams/create-opening-sequence.puml |
| UC-04 Display openings for tutor | docs/diagrams/display-openings-tutor-sequence.puml |
| UC-05 Search openings | docs/diagrams/search-openings-sequence.puml |
| UC-06 Book appointment | docs/diagrams/book-appointment-sequence.puml |
| UC-07 Display openings for student | docs/diagrams/display-openings-student-sequence.puml |
| UC-08 Cancel appointment | docs/diagrams/cancel-appointment-sequence.puml |