Repositorio con código base para el desarrollo de una arquitectura hexagonal siguiendo los principios y patrones de DDD.
El repositorio en su raíz está estructurado de la siguiente forma:
- .github: Directorio donde se localizan templates para Github y los CI/CD workflows
- .devcontainer/devcontainer.json: Archivo que define las tareas/pasos a ejecutar para configurar su workspace en Github Codespaces.
- src: En este directorio encuentra el código fuente para AeroAlpes. En la siguiente sección se explica un poco mejor la estructura del mismo (link para más información)
- tests: Directorio con todos los archivos de prueba, tanto unitarios como de integración. Sigue el estándar recomendado por pytest y usado por boto.
- .gitignore: Archivo con la definición de archivos que se deben ignorar en el repositorio GIT
- README.md: El archivo que está leyendo :)
- requirements.txt: Archivo con los requerimientos para el correcto funcionamiento del proyecto (librerias Python)
Desde el directorio principal ejecute el siguiente comando.
flask --app src/aeroalpes/api runSiempre puede ejecutarlo en modo DEBUG:
flask --app src/aeroalpes/api --debug runLos siguientes JSON pueden ser usados para probar el API:
- Endpoint:
/vuelos/reserva - Método:
POST - Headers:
Content-Type='aplication/json'
{
"itinerarios": [
{
"odos": [
{
"segmentos": [
{
"legs": [
{
"fecha_salida": "2022-11-22T13:10:00Z",
"fecha_llegada": "2022-11-22T15:10:00Z",
"destino": {
"codigo": "JFK",
"nombre": "John F. Kennedy International Airport"
},
"origen": {
"codigo": "BOG",
"nombre": "El Dorado - Bogotá International Airport (BOG)"
}
}
]
}
]
}
]
}
]
}- Endpoint:
/vuelos/reserva/{id} - Método:
GET - Headers:
Content-Type='aplication/json'
coverage run -m pytestcoverage reportA continuación un diagrama mostrando como es el flujo de un request de reservar o crear reserva a través de las diferentes capas:
