Backend de App de sorteos de Code Quest de Devtalles que incluye API REST de sorteos, autenticación y más.
Los pasos importantes para que nuestro backend funcione son agregar las variables de entorno, crear nuestra base de dato NoSQL local, poblar las colecciones de esta y correr el servidor local.
- Se debe crear el archivo
.envy dentro de este pegar todas las variables de entorno del archivo.env.template.
docker-compose up -d
npm run seed
npm run dev
Para el desarrollo backend se usaron principalmente las siguientes tecnologías y enfoques:
- NodeJS: Entorno de ejecución para crear nuestro backend.
- Express: Framework de NodeJS.
- Typescript: Superset de Javascript para tipado estático.
- MongoDB: Base de datos NoSQL.
- Docker: Gestor de contenedores para montar base de datos de Mongo.
- Arquitectura limpia: Patrón de diseño de software para organizar el código en capas bien definidas.
El endpoint base en nuestro servidor local es:
http://localhost:3000
-
POST -
/api/auth/login{ email: string, password: string }
-
GET -
/api/raffle/ -
GET -
/api/raffle/latest -
GET -
/api/raffle/{id}- id (path): Id de sorteo a mostrar.
-
POST -
/api/raffle/{ name: string, description: string, createAt: string, endAt: string, prize: string (mongoId), } -
PUT -
/api/raffle/{id}{ name: string, description: string, endAt: string, prize: string (mongoId), }- id (path): Id de sorteo a actualizar.
-
DELETE -
/api/raffle/{id}- id (path): Id de sorteo a eliminar.
-
POST -
/api/raffle/users/{id}- id (path): Id de sorteo en donde se agregará el partipante.
-
PUT -
/api/raffle/winner/{id}/{userid}- id (path): Id de sorteo a donde elegir un ganador.
- userid (path): Id de usuario a actualizar como ganador.
-
GET -
/api/prize/