Claro, aquí tienes una plantilla de documentación para tu archivo README.md
basada en los requisitos que mencionaste. Puedes copiar y pegar este contenido directamente en tu archivo y personalizar CodeQuest y otros detalles.
CodeQuest
Una breve descripción de lo que hace este proyecto. Este es un backend construido con NestJS que se integra con Discord para la autenticación, utiliza una base de datos PostgreSQL y MeiliSearch para búsquedas, todo orquestado con Docker.
Antes de comenzar, asegúrate de tener instalado lo siguiente en tu sistema:
Sigue estos pasos para configurar y ejecutar el proyecto en tu entorno local.
Primero, clona el repositorio (si aún no lo has hecho) y luego instala todas las dependencias del proyecto usando npm:
npm install
Para la autenticación con Discord, necesitas credenciales de una aplicación.
- Ve al Portal de Desarrolladores de Discord.
- Haz clic en "New Application" y dale un nombre a tu aplicación.
- Navega a la pestaña "OAuth2" -> "General".
- Copia el CLIENT ID y genera un CLIENT SECRET haciendo clic en "Reset Secret". Guarda ambos valores, los necesitarás en el siguiente paso.
- En la sección "Redirects", añade la URL de callback. Para el entorno de desarrollo, esta suele ser:
http://localhost:3000/auth/discord/callback
(Asegúrate de que el puerto coincida con el de tu backend).
El proyecto utiliza un archivo .env
para gestionar las variables de entorno. Se proporciona una plantilla para facilitar la configuración.
-
Copia el archivo
env.template
y renómbralo a.env
:cp env.template .env
-
Abre el archivo
.env
y rellena las variables con los valores correspondientes. Especialmente, asegúrate de configurar las credenciales de Discord que obtuviste en el paso anterior:# Discord OAuth DISCORD_CLIENT_ID=TU_CLIENT_ID_DE_DISCORD DISCORD_CLIENT_SECRET=TU_CLIENT_SECRET_DE_DISCORD DISCORD_CALLBACK_URL=http://localhost:3000/auth/discord/callback # Database POSTGRES_USER=admin POSTGRES_PASSWORD=password123 POSTGRES_DB=project_db DATABASE_URL="postgresql://admin:password123@localhost:5432/project_db?schema=public" # MeiliSearch MEILISEARCH_HOST=http://localhost:7700 MEILISEARCH_API_KEY=una_llave_maestra_segura
Este proyecto utiliza Docker para ejecutar la base de datos (PostgreSQL) y el motor de búsqueda (MeiliSearch).
-
Verifica que Docker Engine esté corriendo en tu sistema.
-
Ejecuta el siguiente comando para levantar los contenedores en segundo plano (
-d
):docker-compose up -d
Este comando leerá el archivo
docker-compose.yml
y creará e iniciará los servicios de la base de datos y MeiliSearch.
Una vez que la base de datos esté corriendo, puedes poblarla con datos de ejemplo ejecutando el script de "seed". Esto es útil para tener usuarios y otros datos con los que probar la aplicación.
npm run seed
Finalmente, para iniciar la aplicación de NestJS en modo de desarrollo, ejecuta:
npm run start:dev
Este comando iniciará el servidor y lo reiniciará automáticamente cada vez que detecte cambios en los archivos del código fuente. ¡Tu backend debería estar corriendo en http://localhost:3000
! 🚀
En el archivo package.json
, puedes encontrar otros scripts útiles:
npm run build
: Compila el proyecto TypeScript a JavaScript.npm start
: Inicia la aplicación en modo de producción (después de compilar).npm run lint
: Ejecuta el linter para revisar la calidad del código.npm run test
: Ejecuta las pruebas unitarias.