The project contains various projects to implement a stock trader. A stock trader should be able to buy and sell shares. Various small projects have been developed for this purpose. General information on the entire project is described on the following page. Further information can be found in the respective sub-project.
The following graphic roughly describes the architecture of the whole project:
The services can be accessed via the following default ports:
- feedback: port 18080
- account: port 18081
- portfolio: port 18082
The project is created with the build tool Maven, Docker and the Java Version 11.
If you want to run services locally, please follow the instructions in the respective projects. You can set up all other important services with Docker:
docker-compose up -d --build
See deployment for notes on how to deploy the project on a live system.
In order to use a uniform code style and to meet the legal requirement of the licence, two tools spotless and license-maven-plugin were added. The following commands can be used to check whether the current code complies with the requirements:
mvn spotless:check
mvn license:check
If these are unsuccessful, the following commands can be run to reformat the code and add the licence header:
mvn spotless:apply
mvn license:format
How further tests can be carried out is described in the corresponding sub-projects.
A small documentation on the tools used can be found in the background folder. This is only a small excerpt. You can get more details about the project with the documented code, the postman collection or the domain_stories.
If you want to deploy the complete project, you can use Docker to set up the entire environment. All you need to do is run the following command:
docker-compose -f docker-compose.yml -f docker-compose.stocktrader.yml up -d --build
If you want to develop on Windows you have to care about the EOL conversion:
- Notepad++: Edit > EOL Conversion > Unix/OSX Format > Unix
- Sublime Text: View > Line Endings > Unix
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning. For the versions available, see the releases on this repository.
This project is licensed under the Mozilla Public License - see the LICENSE.md file for details