https://github.com/nuriadevs/ai-chat-system
A complete full-stack chat application with artificial intelligence integration. This project consists of a backend with FastAPI and a frontend in React and Next.js that work together to provide an interactive chat experience with AI.
https://github.com/nuriadevs/ai-chat-system
ai chat chatbot chatgpt nextsjs openai python
Last synced: 3 months ago
JSON representation
A complete full-stack chat application with artificial intelligence integration. This project consists of a backend with FastAPI and a frontend in React and Next.js that work together to provide an interactive chat experience with AI.
- Host: GitHub
- URL: https://github.com/nuriadevs/ai-chat-system
- Owner: nuriadevs
- License: mit
- Created: 2025-07-22T13:31:01.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-07-22T13:43:48.000Z (about 1 year ago)
- Last Synced: 2025-07-22T15:32:43.648Z (about 1 year ago)
- Topics: ai, chat, chatbot, chatgpt, nextsjs, openai, python
- Language: TypeScript
- Homepage:
- Size: 552 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.es.md
- License: LICENSE
Awesome Lists containing this project
README
# Sistema de Chat IA
## 🚀 Descripción del Proyecto
Una aplicación completa full-stack de chat con integración de inteligencia artificial. Este proyecto consiste en un backend con FastAPI y un frontend en React y Next.js que trabajan juntos para proporcionar una experiencia de chat interactiva con IA.
[](https://fastapi.tiangolo.com/) [](https://reactjs.org/)
[](https://nextjs.org/)
[](https://platform.openai.com/) [](https://www.python.org/) [](https://www.typescriptlang.org/)
## Características
- **Chat IA en tiempo real**: Respuestas instantáneas del modelo de lenguaje de OpenAI.
- **UI**: Interfaz responsiva basada en React y Next.js.
- **API RESTful**: Backend con FastAPI y endpoints.
- **Multiplataforma**: Funciona en escritorio, tablet y dispositivos móviles
- **Arquitectura escalable**: Construido con la intención de que sea un proyecto escalable.
## 📁 Estructura del Proyecto
```
ai-chat-system/
├── backend-chat/ # Aplicación backend con FastAPI
│ ├── app/ # Código de la aplicación
│ │ ├─── api/ # Definición de rutas y controladores
│ │ │ ├─── routes/ # Submódulos de rutas organizadas por funcionalidad
│ │ │ │ ├─── ai/ # Rutas relacionadas con la IA
│ │ │ │ ├─── public/ # Rutas públicas sin autenticación
│ │ ├─── config/ # Configuración general del sistema
│ │ ├─── constants/ # Variables constantes
│ │ ├─── models/ # Modelos de datos
│ │ ├─── responses/ # Estructuras de respuesta
│ │ ├─── services/ # Lógica de negocio y servicios externos
│ │ ├─── utils/ # Funciones auxiliares y utilitarias
│ │ ├── main.py # Punto de entrada de la aplicación
│ ├── .env # Variables de entorno
│ ├── tests/ # Pruebas unitarias y de integración
│ ├── requirements.txt # Dependencias de Python
│ ├── README.md # Documentación específica del backend en inglés
│ ├── README.es.md # Documentación específica del backend en español
│
├── frontend-chat/ # Aplicación frontend con React
│ ├── src/ # Código fuente
│ │ ├─── app/ # Configuración principal y enrutamiento
│ │ ├─── components/ # Componentes reutilizables de la interfaz
│ │ ├─── constants/ # Constantes globales de frontend
│ │ ├─── hooks/ # Hooks
│ │ ├─── lib/ # Librerías y utilidades auxiliares
│ │ ├─── services/ # Funciones para interactuar con APIs
│ │ ├─── styles/ # Estilos globales
│ │ ├─── types/ # Definiciones de tipos y modelos TypeScript
│ │ ├── __tests__/ # Pruebas unitarias del frontend con jest
│ ├── package.json # Dependencias de Node.js
│ ├── README.md # Documentación específica del frontend
│ └── ...
│ ├── README.md # Documentación específica del backend en inglés
│ ├── README.es.md # Documentación específica del backend en
└── .gitignore # Archivos y carpetas ignorados por Git
```
## 🛠️ Tecnologías
### Backend
- **FastAPI**: Framework web de Python de alto rendimiento
- **OpenAI API**: Integración con modelos de lenguaje de IA
- **Python 3.13.3**: Runtime de Python más reciente
- **CORS Middleware**: Manejo de solicitudes entre dominios
### Frontend
- **React**: Biblioteca de JavaScript para construir interfaces
- **Next.js**: Framework de React para aplicaciones web modernas.
- **TypeScript**: Desarrollo de JavaScript.
- **Tailwind**: Estilos moderno y diseño responsivo.
## 🚀 Inicio Rápido
### Prerrequisitos
- Python 3.13+ instalado
- Node.js 18+ y npm instalados
- Clave API de OpenAI
### 1. Clonar el Repositorio
```bash
git clone https://github.com/nuriadevs/ai-chat-system.git
cd ai-chat-system
```
### 2. Configuración del Backend
```bash
cd backend-chat
pip install -r requirements.txt
# Crear archivo .env con tu clave API de OpenAI
OPENAI_API_KEY="tu_clave_api_openai_aqui"
# Iniciar el servidor backend
uvicorn app.main:app --reload --port 8000
```
El backend estará ejecutándose en `http://localhost:8000`
### 3. Configuración del Frontend
```bash
cd frontend-chat
npm install
# Iniciar el servidor de desarrollo
npm start
```
El frontend estará ejecutándose en `http://localhost:3000`
### 4. Acceder a la Aplicación
¡Abre tu navegador y navega a `http://localhost:3000` para comenzar a chatear con la IA!
## 📚 Documentación
Para instrucciones de configuración detalladas y documentación de la API, consulta los archivos README individuales:
- **Documentación Backend**: [Backend Documentation](https://github.com/nuriadevs/ai-chat-system/blob/main/backend-chat/README.es.md)
- **Documentación Frontend**: [Frontend Documentation](https://github.com/nuriadevs/ai-chat-system/blob/main/frontend-chat/README.es.md)
## 🧪 Pruebas
### Pruebas del Backend
```bash
cd backend-chat
pytest
```
### Pruebas del Frontend
```bash
cd frontend-chat
npm test
```
## 🌐 Endpoints de la API
- `GET /`: Endpoint de verificación de salud
- `POST /chat`: Enviar mensajes a la IA y recibir respuestas
Para la documentación completa de la API, visita `http://localhost:8000/docs` cuando el backend esté ejecutándose.
## 📱 Capturas de pantalla
### Escritorio

### Tablet

### Móvil

## 🤝 Contribuir
1. Haz fork del repositorio
2. Crea una rama de características (`git checkout -b feature/category-new`)
3. Confirma tus cambios (`git commit -m 'Agregar alguna característica nueva'`)
4. Empuja a la rama (`git push origin feature/category-new`)
5. Abre un Pull Request
## 🔗 Enlaces
- [OpenAI](https://platform.openai.com/docs/overview)
- [OpenAI-Python](https://github.com/openai/openai-python)
- [FastApi](https://fastapi.tiangolo.com/)
- [Next.js](https://nextjs.org/)
- [Tailwind](https://tailwindcss.com/)
- [Shadcn](https://ui.shadcn.com/docs/dark-mode/next)
## 📬 Contacto
Si tienes alguna pregunta, sugerencia o propuesta de colaboración, no dudes en contactarme a través de mis redes sociales.
### ¡Gracias por visitar este repositorio y darle una estrella! 🚀