pepy.tech is a site which aim is to show statistics information about the Python packages.
I wanted to make the setup of the environment as easy as possible. To start the environment you will need to have the following prerequisites:
- docker (+17.05)
- docker-compose (+1.16.1)
- docker-py (+2.2.1)
- ansible (+2.3)
You only (fingers crossed) need to execute the following to start the environment:
make start-containers
make migrations
Principally I used some of DDD concepts (like value objects, entities, and so on) and also CQS which objective is to separate commands from queries.
The structure of the code is the following:
pepy/application
: here is where all the commands and the queries are located.pepy/domain
: domain objects like entities, exceptions, and value objects.pepy/infrastructure
: infrastructure components like the implementation of the repository class like db or BigQuery, the Flask web application, the container, and so on.pepy/infrastructure/cli
: the command line programspepy/infrastructure/container
: config files and the dependency injection manager.pepy/infrastructure/web
: the Flask application with all the routes.
The code is available under the MIT license.