This software offers a representation of a parking software. It was done under a course from the Software Engineering program of Laval University.
- Buy parking permits and access rights
- Validate access and parking permissions and give infractions
- Manage finances and budgets
- Log parking usage
- Other small features
The main goal of this project was to develop a Clean architecture with a rich domain (aka DDD). Many design patterns were used in order to reach such a rich level of DDD, hence the complexity of the classes and their interactions.
For a more advanced DDD approach, see the refactor done in parking2.
Application
mvn clean install exec:java
Unit tests
mvn test
Integration tests
mvn test -P integration-tests
API tests
These tests use Newman, the Postman API.
newman run SPAMD-UL.postman_collection.json
finance: The whole transaction managing system is not well designed. There should be a clear separation between aTransaction(an amount being transfered between accounts) and aTransactionLog(a record of the transaction made, with more or less infos than the linked transaction). The abstractions are also wrong.
