ScreenSpace API es parte de la plataforma ScreenSpace, que permite a los usuarios navegar y comprar boletos para películas exhibidas en cines asociados. La plataforma proporciona una variedad de funciones para hacer que la experiencia de ir al cine sea más agradable para los usuarios, incluyendo la capacidad de buscar películas, ver horarios de proyección, comprar boletos y calificar películas después de verlas.
Una de las funciones principales es proporcionar a los usuarios información sobre las películas que se están proyectando actualmente en los cines. Los usuarios pueden navegar por una lista de películas disponibles, filtrarlas por criterios como género o calificación, y ver información como el reparto, director y sinopsis. La API también puede proporcionar a los usuarios imágenes y trailers para ayudarles a decidir qué películas quieren ver.
Una vez que un usuario ha elegido una película, la aplicación muestra los horarios de proyección disponibles en los cines cercanos y permite a los usuarios seleccionar sus asientos preferidos y pagar por sus boletos utilizando una pasarela de pago segura. Después de la compra, los usuarios reciben boletos electrónicos en su teléfono móvil, que pueden escanear en el cine para entrar.
Después de ver una película, los usuarios pueden calificarla utilizando el sistema de calificación de la aplicación. Esto permite a otros usuarios ver qué películas son populares y cuáles no, ayudándolos a tomar decisiones informadas sobre qué ver. Además, la aplicación utiliza la calificación y los datos de visualización del usuario para proporcionar recomendaciones personalizadas de películas que pueden ser de interés para el usuario.
En resumen, la aplicación móvil de ScreenSpace es una solución completa y fácil de usar para los cinéfilos, que les permite explorar, comprar y disfrutar de las películas en los cines cercanos de manera más eficiente y personalizada.
Estas instrucciones permiten obtener una copia del proyecto en funcionamiento en tu máquina local para propósitos de desarrollo y pruebas.
- NodeJS
- Docker & Docker Compose (Opcional)
- MongoDB Docker image (Opcional)
Una serie de ejemplos paso a paso que debes ejecutar para tener un entorno de desarrollo ejecutandose
-
Descomprimir el contenido de este ZIP
Unix-based
$ unzip main.zip -d /tmp/screenspace
Windows
PS C:\> Expand-Archive -Path 'C:\main.zip' -DestinationPath 'C:\screenspace\'
-
Descargar las dependencias del backend
Unix-based
$ cd /tmp/screenspace/api $ npm install
Windows
PS C:\> cd 'C:\screenspace\api' PS C:\screenspace\api\> npm install
-
Establecer configuración
Unix-based
$ cp example.env .env
Windows
PS C:\screenspace\api\> copy example.env .env
-
Iniciar el backend
Unix-based
# development npm run devstart # watch mode npm run start:dev # production mode npm run start:prod
Windows
# development PS C:\screenspace\api\> npm run devstart # watch mode PS C:\screenspace\api\> npm run start:dev # production mode PS C:\screenspace\api\> npm run start:prod
-
Ingresar al estado de salud del backend.
-
Ingresar a Swagger.
Instrucciones para ejecutar el backend mediante docker
- Construir imagen
Unix-based
$ docker build . -t screenspace-api
Windows
PS C:\screenspace\api\> docker build . -t screenspace-api
- Ejecutar contenedor
Unix-based
$ docker run --name screenspace-api -p 3000:3000 -d screenspace-api
Windows
PS C:\screenspace\api\> docker run --name screenspace-api -p 3000:3000 -d screenspace-api
- Ejecutar contenedores
Unix-based
$ docker-compose up
Windows
PS C:\screenspace\> docker-compose up
- Detener contenedores
Unix-based
$ docker-compose down
Windows
PS C:\screenspace\> docker-compose down
Unix-based
# unit tests
npm run test
# e2e tests
npm run test:e2e
# test coverage
npm run test:cov
Windows
PS C:\screenspace\api\> npm run test
Detallado en documento x
Agregar notas adicionales sobre como hacer deploy
herramientas utilizadas para crear el backend
Usamos SemVer para el versionado. Para todas las versiones disponibles, mira los tags en este repositorio.
- Sorgentini, Ignacio - Legajo 1126105 ([email protected])
- Severi, Pedro - Legajo 1129592 ([email protected])
- Güerini, Timoteo - Legajo 1106625 ([email protected])
- Gil Broccardi, Sergio - Legajo 1126105 ([email protected])