A little application to manage a vinyl collection and intended to practice an IDD approach on a Python application
- Python 3.6
- Pipenv
On your command line run:
pipenv install --dev && pipenv shell
to create a virtualenv for the project and install dependencies
There are two main folders on this project, api and discoteque.
As you may imagine, api is where the delivery mechanism lives, in this case a JSON API using Flask.
Inside discoteque is where domain assumes the business rules decoupled from the outer world. It MUST NOT have any knowlede about infrastructure, delivery mechanisms, etc. If we can achieve that, we would be able to even install our domain as a dependency inside the API project!
There are two main levels of testing here. Acceptance tests are written with Behave and perform requests over the Flask API. Domain tests are written in Mamba inside the discoteque/spec folder.
From the root folder:
- Domain tests
mamba app/discoteque/ - Acceptance tests:
behave app/api/features