Template for Backend Challenges
The main objective is to provide a template for repositories that can be used as a starting point for new backend challenges.
The project aims to help developers to start challenges, so that anybody can enhance their programming skills.
Our folder structure was developed specially for our projects.
.
├── iac
├── src
│ ├── modules
│ │ ├── create_user
│ │ │ └── app
│ │ ├── delete_user
│ │ │ └── app
│ │ ├── get_user
│ │ │ └── app
│ │ └── update_user
│ │ └── app
│ └── shared
│ ├── domain
│ │ ├── entities
│ │ ├── enums
│ │ └── repositories
│ ├── helpers
│ │ ├── enum
│ │ ├── errors
│ │ ├── functions
│ │ └── http
│ └── infra
│ ├── dto
│ ├── external
│ └── repositories
└── tests
├── modules
│ ├── create_user
│ │ └── app
│ ├── delete_user
│ │ └── app
│ ├── get_user
│ │ └── app
│ └── update_user
│ └── app
└── shared
├── domain
│ └── entities
├── helpers
└── infra
- Files have the same name as the classes
- snake_case 🐍 (ex:
./app/create_user_controller.py
)
-
- CamelCase 🐫🐪
-
- Interface starts with "I" -->
IUserRepository
,ISelfieRepository
😀 - Repository have the same name as interface, without the "I" and the type in final (ex:
UserRepositoryMock
,SelfieRepositoryDynamo
) 🥬
- Interface starts with "I" -->
- snake_case 🐍
- Try associate with a verb (ex:
create_user
,get_user
,update_selfie
)
- snake_case 🐍
- Avoid verbs
- SNAKE_CASE 🐍
- File name ends with "ENUM" (ex: "STATE_ENUM")
- snake_case 🐍
- "test" follow by class name (ex:
test_cadastrar_usuario_valido
,test_cadastrar_usuario_sem_email
)- The files must start with "test" to pytest recognition
- Start with verb
- Ends with emoji 😎
Clone the repository using template
python -m venv venv
virtualenv -p python3.9 venv
venv\Scripts\activate
source venv/bin/activate
pip install -r requirements-dev.txt
pytest
STAGE = TEST
- Bruno Vilardi - Brvilardi 👷♂️
- Hector Guerrini - hectorguerrini 🧙♂️
- João Branco - JoaoVitorBranco 😎
- Vitor Soller - VgsStudio ☀
- Lucas Duez - Lucasdvs10 🤡
- Rodrigo Morales - RodrigoM2004 🚗
- Lucas Milani - LucasKiller 🔪
- Rafael Rubio - Rubiozito 🎸