Repository navigation
Responsibilities, indubitably differentiated
Duy Nguyen edited this page Oct 30, 2024
·
6 revisions
- Decide on detailed, per-use-case business logic
configurations
- Define views accordingly in
configurations/monolith/gui/viewsi.e. is responsible for allJavaFXintegrations
fxml
- Create graphical UI for different use cases of different user types:
- Admin
- Staff
- Patron
future plans
- Plan on things shown in the app:
- A dashboard: used for displaying basic informations, recently borrowed documents, upcoming borrow due dates,...
- Explore section: responsible for searching, browsing documents by categories,...
- Navigation bar (panel): The search bar should behave similarly to explore, the profile icon button has the options to log out, change password.
todos
- Reorganize file structures:
- Relocate fxml files to
gui - Seperate views, controllers and presenters for each usecase
core/domainandcore/usecases
- Enforce all-encompassing architectural policies
- Model domain, define dataproviders, implement use cases
- Define controllers and presenters in
infrastructures/adapters - Implement rudimentary dataproviders in
infrastructures/dataprovidersfor demonstration purposes
infrastructures
- Implement dataproviders in
infrastructures/dataprovidersthat meet production requirements
todos
- Implement
DocumentRepositoryandUserRepository<?>as cloud databases - Implement
AuthenticationTokenRepositoryusing local filesystem
some insights to look at
- MySQL Server
- JDBC: used to connect java to mysql server
- Some ways to cloud host, e.g port forwarding, free cloud services,...