This repository contains the template for the OOPP project. Please extend this README.md with instructions on how to run your project.
How to run the project
- ./gradlew build
- ./gradlew bootRun
- run client/main (or use ./gradlew run)
The admin login can be seen in the output of the server when you run it.
Useful shortcuts in the project --In the start up page of the application
- Ctrl + E for creating an event --In the event info page
- Ctrl + T for adding an expense tag to the event
- Ctrl + P for adding a new participant to the event
- Ctrl + E for adding a new expense to the event
We implemented the following HCI requirements:
- Color Contrast
- keyboard shortcuts as mentioned above
- multi-modal visualization (for example the trashcan with a red delete button)
- logical navigation
- keyboard navigation
- error messages
- informative feedback
- confirmation for key actions
to see the total sum of expenses, you need to press the statistics button in the event info.
Websockets and Long Polling: Long Polling is used for the adding of expenses, this can mainly be seen in the files : client/src/main/java/client/utils/ServerUtils.java and server\src\main\java\server\api\ExpenseController.java. A method called registerForEventUpdates in serverUtils will make sure all clients are updated once a new expense has been added. Websockets are used for everything else and can mainly be found in the file : server/src/main/java/server/WebSocketConfig.java as well as in the server controllers and client side fxml controllers.