pepy.tech is a site which aims to show statistics about Python packages.
⚒️ Start contributing
I wanted to make the setup of the environment as easy as possible. To start the environment you need the following prerequisites:
- bash (+4.3)
- 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:
Architecture and patterns
Principally I used some DDD concepts (like value objects, entities, and so on) and also CQS whose 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 programs.
pepy/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.