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 .

Creación proyecto con FastAPI. 

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, 

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 



Creo que es bastante aceptable , por hoy . 


Para no alargar mas el post creo esta misión la dividiremos en pequeñas tareas , se me ocurre lo siguiente : 

  1. Dockerizar el app , si alguien solo la quiera para pruebas o como mock docker run y listo !!
  2. Obviamente la persistencia pero aun no me decido si postgress o mongodb . 
  3. 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

Entradas populares de este blog

Plataformas gratuitas para desplegar aplicaciones web

Instalación y Uso MongoDB

Documentar API REST con Spring Doc (Swagger)