Skip to content

AlexLopEx03/MisterGPT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EN English version of this readme

MisterGPT

Un Asistente de IA, simple, rápido y gratuito.

🌐 Web del proyecto: https://mistergpt.vercel.app

Proyecto personal de código abierto por AlexLopEx03 bajo licencia AGPLv3.0 📜


Tecnologías utilizadas

React Node Express PostgreSQL Chakra UI

Tip

  • React: Framework de frontend de JavaScript, muy flexible, reactivo y declarativo.

  • Node: Entorno de ejecución de JavaScript para la capa de servidor.

  • Express: Framework minimalista de Node para la rápida realización de APIs.

  • PostgreSQL: Sistema gestor de bases de datos relacionales.

  • Chakra UI: Librería de componentes de UI.

Otras librerías, dependencias o tecnologías:

  • Motion: Librería para el manejo de animaciones.
  • Vite: Empaquetador ultra rápido para desarrollo web.
  • Zustand: Librería de React para el manejo de estados globales.
  • Axios: Librería para la centralización y el manejo de las peticiones.
  • Swagger: Herramienta para la documentación y el testeo de APIs.
  • React-icons: Librería de iconos para react.
  • Eslint: Librería para el análisis de código y realización de buenas prácticas.
  • Vite-plugin-pwa: Herramienta de Vite para facilitar la creación de Progressive Web Apps (PWA's).

Infraestructura utilizada

Vercel Supabase Groq Sentry

Despliegue, infraestructura y servicios:

Note

  • Vercel: Plataforma de infraestructura en la nube para tecnologías modernas.
  • Supabase: Plataforma especializada en el servicio de bases de datos PostgreSQL.
  • Groq: Proveedor de servicios e infraestructura de IA en la nube.
  • Sentry: Plataforma para la monitorización del software, trazabilidad de errores y rendimiento.

Important

Este proyecto emplea serverless functions en lugar de un servidor persistente tradicional.

➡️ Click aquí para más detalles acerca de las serverless functions ⬅️

Las serverless functions permiten encapsular la aplicación en una o varias funciones que funcionan y se ejecutan solo cuando son invocadas, esto ofrece muchas ventajas:

  • Coste en base al tiempo real de ejecución y sus recursos consumidos

  • Escala y se adapta fácilmente a la demanda

Este tipo de servidor es ideal para proyectos personales como este, donde el tráfico es bajo, muy puntual y posiblemente inexistente durante largos periodos.


Arquitectura de software

💻 Front
  
/src
├── 📦 /components        # Componentes reutilizables
├── 🧠 /hooks             # Lógica encapsulada de los componentes
├── 📄 /pages             # Componentes raíces para cada una de las rutas
├── 🧪 /testing           # Pruebas simples con vitest
├── 🗂️ /services          # Peticiones a APIs y servicios externos
|    └── 🌐 axios.service.js      # Instancia centralizada de las peticiones
├── 🛒 /stores            # Instancias de zustand para el manejo centralizado del estado
├── 🎨 /styles            # Estilos
└── 🧩 App.jsx            # Componente raíz de la App donde se establecen las rutas
🛠️ Back
  
/src
├── 🔐 /auth              # Gestión de la autentificación
├── 🎮 /controllers       # Gestión completa de la lógica de los endpoints
├── 🧱 /middlewares       # Middlewares para las peticiones
├── 🧬 /models            # Modelos de datos para ORM's o interacciones con la base de datos
├── 🛤️ /routes            # Definición de endpoints y asignación de su middleware
├── 📐 /schemas           # Esquemas de validación o tan solo lógica de validación
├── 🗂️ /services          # Peticiones a APIs y servicios externos
├── 🚀 app.js             # Punto de arranque de la App
├── 🗄️ db.js              # Gestión del pool de conexiones a la base de datos
├── 🧾 db.sql             # Base de datos
└── 📚 docs.js            # Documentación de la API para su testeo con Swagger, solo para desarrollo

Cualquier duda o comentario acerca del proyecto puedes dirigirte a la sección de Discussions.

Contributors 2

  •  
  •