Del Concepto a la idea: Implementacion "Fast Api "
El reto de hoy es ver que tan rápido se puede implementar una idea .
Cuales serán los objetivos :
Concepto : Algo simple y ocupado en sistemas financieros adoro ese tema.
API : Algo divertido como python y que permita que si a alguien le es util tenga acceso a la funcionalidad.
Concepto
Cuando se inicia un sistema siempre se necesitan catálogos asi que para no romperme la cabeza esa es la idea base , Ahora que catalogo creo que uno de los mas usado es "Dias inhabiles".
Googleando rápidamente llegamos a las fechas inhábiles :
https://www.gob.mx/profedet/articulos/dias-de-descanso-obligatorio-2025
Pensando mas a fondo creo que las funciones básicas deben ser :
- Consultar :
- Agregar dia
- Desactivar dia
API
En cuestion del api inicalmente pensaba por flask , pero despues de haber recordado un par de videos es importante para mi la documentación y sobre todo rapidez en el desarrollo asi que incursionaremos con FAST API .
Y como todo buen programador copilot y chatgpt para trabajar lo mas rápido posible :D . Lo bonito de los proyectos por diversion NO RULES .
Implementando la idea
Crear el proyecto es relativamente facil con el apartado de virtual enviroments de la documentación considero es suficiente para configurar un proyecto .
Y ahora era necesario hace el legendario "HOLA MUNDO". De igual forma la documentación es muy clara el apartado First Steps nos ayuda lograr este objetivo . Una vez realizados estos pasos solo tipear en la consola el comando :
fastapi dev main.py
Y vuala vemos el hola mundo en la consola.
Lo que mas me gusta es que ya tenemos la documentación lista desde el primer momento . Y en 2 formatos con swagger y redoc . En lo personal que bonito es redoc como que mas minimalista o ¿que opinas ?
El siguiente paso hacer un primer dummy de los servicios , para esto chatgpt.
Tal cual este es mi contexto :
Estoy haciendo un api con fast api para los dias no laborales en mexico
quiero los servicios rest que me permitan
Consultar :
Agregar dia
Desactivar dia
Estos son los dias no laborables
I. El 1o. de enero;
II. El primer lunes de febrero en conmemoración del 5 de febrero;
III. El tercer lunes de marzo en conmemoración del 21 de marzo;
IV. El 1o. de mayo;
V. El 16 de septiembre
VI. El tercer lunes de noviembre en conmemoración del 20 de noviembre;
VII. El 1o. de octubre de cada seis años, cuando corresponda a la transmisión del Poder Ejecutivo Federal;
VIII. El 25 de diciembre,
quiero los servicios rest que me permitan
Consultar :
Agregar dia
Desactivar dia
Estos son los dias no laborables
I. El 1o. de enero;
II. El primer lunes de febrero en conmemoración del 5 de febrero;
III. El tercer lunes de marzo en conmemoración del 21 de marzo;
IV. El 1o. de mayo;
V. El 16 de septiembre
VI. El tercer lunes de noviembre en conmemoración del 20 de noviembre;
VII. El 1o. de octubre de cada seis años, cuando corresponda a la transmisión del Poder Ejecutivo Federal;
VIII. El 25 de diciembre,
De ser posible manejarlo en memoria por el momento
Y de nuevo vuala ya tenemos los servicios que planeamos desde el principio
Probemos desde swagger
Para no alargar mas el post creo esta misión la dividiremos en pequeñas tareas , se me ocurre lo siguiente :
- Dockerizar el app , si alguien solo la quiera para pruebas o como mock docker run y listo !!
- Obviamente la persistencia pero aun no me decido si postgress o mongodb .
- El nice to have Integracion continua ,
Por lo pronto si se te hace interesante el código te comparto el repositorio , aun esta verde pero me emociona el contribuir de a poquito a nuestra comunidad .
Comentarios
Publicar un comentario