Pitkalkulator is an application designed to facilitate the settlement of tax on stock profits obtained on the Revolut platform.
The application was developed using a REST API written with the flasklibrary. The nextjs library was used to present data in the client's browser.
To run the application in a development environment, first install the dependencies using the following commands:
# REST API
pip install -r requirements.txt
# nextjs
npm install
Then run both applications:
# REST API
python app.py
# Database migration, only required for first run
flask db upgrade
# nextjs
npm run dev
To run in a production environment, you must install Docker and Docker Compose, and run the following command:
docker-compose up -d
# Database migration, only required for first run
docker exec -i <container_name> flask db upgrade
A production environment is required for the correct functioning of Decimal
numbers because the test SQLite database does not support them.
The client layer currently does not have any tests (nextjs).
For the REST API, tests are located in the test.py
file, and can be run with the following command:
python test.py
Unfortunately, the test data sets located in the test_data
folder have been deleted because they contain personal data. To run the tests fully, you must add the reports you have to the test_data
folder.