Este proyecto contiene un ejemplo de la estructura recomendada para nuevos proyectos que utilicen FastAPI en el backend.
Se sugiere mantener la estructura de archivos (basada en fastapi-best-practices), adaptándola al dominio que corresponda. Esto es, creando nuevos módulos que contengan mínimamente los siguientes elementos:
constants.pyexceptions.pymodels.pyrouter.pyschemas.pyservices.py
Si se lo desea, añadir tests para dichos módulos debiera seguir la misma estructura que los disponibles en la carpeta tests, con las adaptaciones que se consideren necesarias.
- Instalar dependencias dentro de un entorno virtual con:
pip install -r requirements.txt - Crea una copia del archivo
.env.templatecon el nombre.envy reemplaza los valores de las variables de entorno que creas necesarias. - Asumiendo que estamos en el directorio
src/, iniciar el proyecto ejecutando:fastapi dev main.py - Cuando el proyecto esté listo, abrir http://localhost:8000/docs para probar la API de manera interactiva.
Opcionalmente:
- Asumiendo que estamos en la raíz del proyecto, ejecutar los tests con:
python -m pytest tests/
- Descargate una copia de este proyecto.
- Abrelo y copia los archivos a la carpeta de tu nuevo proyecto.
- Verifica que puedes ejecutar el proyecto tal como está. Ver sección: ¿Cómo lo ejecuto?
- Ya puedes comenzar a trabajar en tu proyecto.
Importante:
- Evitar copiar el directorio
.git/del repositorio original. - Al trabajar en nuevos dominios, los módulos y archivos de ejemplo (personas, mascotas) ya no son necesarios y pueden ser eliminados junto con cualquier referencia a ellos dentro de
src/ytests/. - Por defecto el proyecto utiliza el motor de base de datos
sqlitepor lo que los datos de la app vivirán dentro del archivodb.sqlite3a menos que se renombre y/o se decida utilizar otro motor de base de datos. - Los tests han sido configurados para ejecutarse utilizando una base de datos en memoria por lo que no existe un archivo que contenga sus datos.