Este es un proyecto de Next.js creado con create-next-app
. El objetivo de este proyecto es proporcionar una plataforma interactiva y dinámica utilizando tecnologías modernas como Next.js, Prisma, TailwindCSS, y Clerk para la autenticación.
- Next.js: Framework de React para aplicaciones web.
- Prisma: ORM para bases de datos.
- TailwindCSS: Framework de CSS para diseño.
- Clerk: Autenticación y gestión de usuarios.
- MySQL: Base de datos relacional.
- Docker: Contenedorización de servicios.
- Node.js (v14 o superior)
- Docker (opcional, para base de datos)
- npm, yarn, pnpm o bun (gestores de paquetes)
- Clona el repositorio:
git clone https://github.com/tu-usuario/ai-companion.git
cd ai-companion
- Instala las dependencias:
bun install
- Configura las variables de entorno:
Crea un archivo .env
en la raíz del proyecto y añade las siguientes
variables:
- DATABASE_URL=mysql://companion:password@localhost:3308/companion
- NEXT_PUBLIC_CLERK_FRONTEND_API=<tu_clerk_frontend_api>
- CLERK_API_KEY=<tu_clerk_api_key>
- NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=""
- Levanta la base de datos con Docker (opcional):
docker-compose up -d
- Ejecuta las migraciones de
Prisma
:
bunx prisma migrate dev
- Si deseas poblar la base de datos con datos iniciales, ejecuta el script de seed:
bun run seed
- Para levantar el servidor de desarrollo, ejecuta:
bun run dev
Abre http://localhost:3000 en tu navegador para ver la aplicación.
app/
: Contiene las páginas y layouts de la aplicación.components/
: Componentes reutilizables de la UI.lib/
: Utilidades y configuraciones globales.prisma/
: Esquema de la base de datos y migraciones.scripts/
: Scripts para tareas específicas como el seed de la base de datos.styles/
: Archivos de estilos globales.
- Autenticación: Gestión de usuarios con Clerk.
- Búsqueda: Componente de búsqueda con debounce.
- Categorías: Listado y filtrado de categorías.
- Temas: Soporte para temas claros y oscuros.
- Notificaciones: Integración con un sistema de notificaciones en tiempo real.
- Internacionalización: Soporte para múltiples idiomas.
- PWA: Convertir la aplicación en una Progressive Web App.
- Integración con APIs externas: Añadir soporte para consumir datos de APIs externas.
Las contribuciones son bienvenidas. Por favor, sigue los siguientes pasos para contribuir:
- Haz un fork del repositorio.
- Crea una nueva rama (
git checkout -b feature/nueva-funcionalidad
). - Realiza tus cambios y haz commit (
git commit -m 'Añadir nueva funcionalidad'
). - Sube tus cambios (
git push origin feature/nueva-funcionalidad
). - Abre un Pull Request.
La forma más sencilla de desplegar tu aplicación Next.js es utilizando la Plataforma Vercel creada por los desarrolladores de Next.js.
Consulta nuestra documentación de despliegue de Next.js para más detalles.
Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.
¡Gracias por usar AI Companion! Si tienes alguna pregunta o sugerencia, no dudes en abrir un issue o contribuir al proyecto.