flare-api
v1.0.39
Published
A modern, fast, and intuitive Node.js framework for building APIs
Downloads
2,450
Maintainers
Readme
FlareApi.js
Overview
FlareApi.js es un framework revolucionario que combina la simplicidad de FastAPI con el poder y la escalabilidad de NestJS, todo con una estructura modular opcional y un CLI inteligente basado en lenguaje natural. FlareApi.js no solo simplifica el desarrollo de APIs, sino que también incorpora inteligencia artificial para generar automáticamente entidades, controladores y servicios a partir de descripciones en lenguaje natural.
Key Features
- CLI Inteligente: Utiliza descripciones en lenguaje natural para generar APIs completas (controladores, servicios, entidades) con un solo comando.
- Estructura Modular (opcional): Crea proyectos organizados con controladores, servicios, y entidades fácilmente mantenibles.
- Validación estilo FastAPI: Simplifica la validación de datos, asegurando APIs bien estructuradas.
- Soporte para JWT y OAuth: Incluye autenticación con JWT y soporta integraciones de autenticación avanzada como Google y Facebook login.
- Caché con Redis: Optimización del rendimiento mediante integración rápida con Redis.
- Microservicios Ready: Arquitectura preparada para escalabilidad y la creación de microservicios.
- Documentación Automática y Pruebas: Swagger para documentar automáticamente las APIs generadas y pruebas unitarias listas para cada servicio generado.
Usage
Instala el framework:
npm install flareapi.js
Genera módulos, controladores y servicios usando el CLI inteligente. Puedes usar descripciones en español o inglés:
flareapi-cli create "Create an API to manage products with name, price, and description"
o
flareapi-cli create "Crear una API para gestionar productos con nombre, precio y descripción"
Integra autenticación JWT o OAuth y caching con Redis fácilmente usando los plugins.
CLI Inteligente
El CLI de FlareApi.js es lo que lo diferencia de otros frameworks. Con el CLI inteligente, puedes describir lo que necesitas en lenguaje natural, y FlareApi.js generará todo por ti: controladores, servicios, entidades e incluso autenticación, documentación y pruebas.
Comandos del CLI
| Comando | Descripción |
|------------------------------------------|------------------------------------------------------------------------------------------------------|
| flareapi-cli create <description>
| Genera entidades, controladores y servicios a partir de una descripción en lenguaje natural. |
| flareapi-cli generate controller <entity>
| Crea un controlador para una entidad especificada. |
| flareapi-cli generate service <entity>
| Crea un servicio para una entidad especificada. |
| flareapi-cli generate entity <entity>
| Crea una entidad con los campos definidos. |
| flareapi-cli generate backoffice <entity>
| Genera un backoffice básico para una entidad. |
| flareapi-cli generate swagger
| Crea la configuración de Swagger para la documentación de la API. |
| flareapi-cli generate server-start
| Genera el archivo básico para iniciar el servidor. |
| flareapi-cli generate-tests <entity>
| Genera pruebas unitarias para una entidad especificada. |
| flareapi-cli assistant "<natural language description>"
| Usa el asistente basado en IA para generar APIs completas a partir de descripciones. |
Plugins Disponibles
FlareApi.js es extensible mediante un ecosistema de plugins, lo que permite añadir fácilmente funcionalidades avanzadas como autenticación, caché, y colas de trabajo para arquitecturas distribuidas.
Plugins Base:
Autenticación Avanzada (OAuth):
- Añade soporte para Google y Facebook login usando Passport.js. Ideal para aplicaciones que requieren autenticación de terceros.
npm install passport passport-google-oauth20 passport-facebook
Caché con Redis:
- Mejora el rendimiento de tus APIs integrando Redis como sistema de caché para respuestas frecuentes.
npm install redis
Integración con Colas de Trabajo (RabbitMQ y Kafka):
- Soporte para sistemas distribuidos y microservicios con integración de colas de trabajo utilizando RabbitMQ o Kafka.
npm install amqplib kafkajs
Logging y Monitorización:
- Añade capacidades de logging y monitorización en tiempo real para las APIs.
npm install morgan
Integración de Plugins
Puedes integrar fácilmente los plugins en tu proyecto modificando el archivo principal de la aplicación (app.ts o server.ts) y agregando los plugins que necesites:
Ejemplo de integración de un plugin:
import { setupAdvancedAuth } from './plugins/auth-advanced/auth-advanced';
setupAdvancedAuth(app);
Contribuir
Estamos emocionados de recibir contribuciones de la comunidad. Si deseas contribuir a FlareApi.js, sigue estos pasos:
- Haz un fork del repositorio.
- Crea una rama para tu feature (
git checkout -b feature/nueva-feature
). - Haz commit de tus cambios (
git commit -m 'Agrega una nueva feature'
). - Sube tu rama (
git push origin feature/nueva-feature
). - Abre un Pull Request.
¡No dudes en aportar mejoras, nuevas ideas o reportar bugs!
License
Este proyecto está licenciado bajo la licencia MIT.