Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/similato87/academia-planner
Course project exploring GOF design patterns. Team collaboration to design a student course registration system, integrating multiple software patterns. Includes both test and functional components.
https://github.com/similato87/academia-planner
coureseregistration designpatterns gof softwarearchitecture systemdesign
Last synced: about 11 hours ago
JSON representation
Course project exploring GOF design patterns. Team collaboration to design a student course registration system, integrating multiple software patterns. Includes both test and functional components.
- Host: GitHub
- URL: https://github.com/similato87/academia-planner
- Owner: similato87
- Created: 2023-01-26T19:41:36.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-03-26T17:37:00.000Z (over 1 year ago)
- Last Synced: 2024-11-05T15:04:12.447Z (about 2 months ago)
- Topics: coureseregistration, designpatterns, gof, softwarearchitecture, systemdesign
- Language: Java
- Homepage:
- Size: 139 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Academia-Planner
The system we are going to build is a course registration system.
## Software Patterns
- **Singleton**
Classes: Database
- **Proxy** (enrollments)
Classes: EnrollmentProxy
- **Builder** (enrollments)
Classes: EnrollmentBuilder
- **Factory method** (department)
Interface: Department, DepartmentFactory Classes: CSDepartment(Factory), SWEDepartment(Factory), ECEDepartment(Factory)
- **Adaptor** (record, recordAdaptor)
Classes: Record, RecordAdaptor
- **Iterator** (students, courses)
Interface: Iterator, Classes: StudentIterator, CourseIterator
- **Composite** (enrollment, transcript)
Interface: Registration, Classes: Transcript
## Result
Demo: Example to create a student's transcript
```
CS1073 Java I A 16.0
Transcript of John Doe(ID:3333333)
CS1073 Java I A 16.0
CS1083 Java II B- 10.8
SWE4403 Software Design Patterns and Architecture A- 14.8
Average Percentage: 81.66666666666667Search for student with ID: 3333333
Student: John Doe(3333333), Business, FrederictonSearch for course with code: CS1073
Course[code='CS1073', name='Java I']Search for enrollment with ID: 1
Enrollment (1): John Doe(3333333) SWE4403 85.0 passProcess finished with exit code 0
```