Este proyecto es una API REST desarrollada en Node.js para la pastelería Dtentacion. La API permite gestionar clientes, administradores, productos disponibles junto con las sucursales, e incluye un sistema de puntos de recompensa para los clientes. 🎉
- Andrea Alejandra Pucheta Vargas (Andrea29-18)
- César González López (DracoGilga)
- Gerly Daniel Arteaga Bernal (GerlyUwU)
- Node.js versión 22 o superior.
- MongoDB (se puede utilizar
mongodb-memory-server
para pruebas).
-
Clona el repositorio:
git clone https://github.com/Andrea29-18/ApiTentacion.git
-
Entra en el directorio del proyecto:
cd ApiTentacion
-
Instala las dependencias necesarias:
npm install
Es importante configurar las variables de entorno para que la API funcione correctamente.
-
Crea un archivo
.env
en la raíz del proyecto con las siguientes variables de entorno:MONGO_URI=mongodb://localhost:27017/nombreBaseDeDatos
MONGO_URI
es la cadena de conexión para tu base de datos MongoDB. Asegúrate de configurarla correctamente para evitar errores de conexión cuando inicies el servidor.
-
Inicia el servidor en modo producción:
npm start
-
Si prefieres ejecutar el servidor en modo desarrollo con reinicio automático cuando hagas cambios en el código:
npm run dev
-
La API estará disponible en
http://localhost:3000
.
El proyecto utiliza Jest para las pruebas, y las pruebas de base de datos están configuradas para utilizar mongodb-memory-server, lo que permite ejecutar las pruebas en memoria sin necesidad de una base de datos local activa.
Para ejecutar las pruebas:
npm test
Las sugerencias y contribuciones son bienvenidas. Si deseas contribuir, sigue estos pasos:
- Haz un fork del repositorio.
- Crea una nueva rama para tu funcionalidad o corrección de error:
git checkout -b mi-nueva-funcionalidad
. - Realiza los cambios y haz un commit:
git commit -m 'Agrega nueva funcionalidad'
. - Sube los cambios a tu fork:
git push origin mi-nueva-funcionalidad
. - Abre un pull request en GitHub.
Este proyecto está licenciado bajo la MIT License - consulta el archivo LICENSE para más detalles.