Skip to content

AlexLopEx03/MisterGPT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 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

  •  
  •