Skip to content

Latest commit

 

History

History
46 lines (38 loc) · 1.75 KB

README.md

File metadata and controls

46 lines (38 loc) · 1.75 KB

pepy-logo

Build status

pepy

📜 About

pepy.tech is a site which aim is to show statistics information about the Python packages.

⚒️ Start contributing

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:

Prerequisites

  • docker (+17.05)
  • docker-compose (+1.16.1)
  • docker-py (+2.2.1)
  • ansible (+2.3)

Start environment

You only (fingers crossed) need to execute the following to start the environment:

make start-containers
make migrations

Architecture and patterns

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 programs
    • pepy/infrastructure/container: config files and the dependency injection manager.
    • pepy/infrastructure/web: the Flask application with all the routes.

🚩 License

The code is available under the MIT license.