npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

flare-api

v1.0.39

Published

A modern, fast, and intuitive Node.js framework for building APIs

Downloads

2,450

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

  1. Instala el framework:

    npm install flareapi.js
  2. 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"
  3. 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:

  1. 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
  2. Caché con Redis:

    • Mejora el rendimiento de tus APIs integrando Redis como sistema de caché para respuestas frecuentes.
    npm install redis
  3. 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
  4. 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:

  1. Haz un fork del repositorio.
  2. Crea una rama para tu feature (git checkout -b feature/nueva-feature).
  3. Haz commit de tus cambios (git commit -m 'Agrega una nueva feature').
  4. Sube tu rama (git push origin feature/nueva-feature).
  5. Abre un Pull Request.

¡No dudes en aportar mejoras, nuevas ideas o reportar bugs!

License

Este proyecto está licenciado bajo la licencia MIT.