
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 📜
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).
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.
💻 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
