- Backend RESTful API for movie platform urTicket using Nest (NestJS) is a framework for building efficient, scalable Node.js server-side applications
- TypeScript - TypeScript is a superset of JavaScript that compiles to plain JavaScript
- PostgreSQL - Relational Database is used for database management
- Docker - Containerization is used for deployment
- TypeORM - TypeORM is a library for Node.js that helps you to work with your database using TypeScript
- Swagger - Swagger is a tool for documenting RESTful APIs
- Modular architecture, Design pattern, takes advantage of latest JavaScript features with NestJS
- A REST API is an application programming interface that conforms to specific architectural constraints, like stateless communication and cacheable data. It is not a protocol or standard, but a set of rules for how to communicate with a server.
- Using SQL techniques and common commands (INSERT INTO, WHERE, ORDER BY, ON DELETE CASCADE, etc) will enable you to create tables, column types and define the schema of your data in PostgreSQL
- Data modeling and how to represent one-to-one, one-to-many and many-to-many relationships in PostgreSQL.
- Full-text search in PostgreSQL using PostgreSQL's full-text search functions.
- Make the managing of a database more convenient, we use an Object-relational mapping (ORM) tool called TypeORM.
- Build a Payment method using Stripe API
- Implementing in-memory cache to increase the performance with Redis
- The OpenAPI specification with Swagger which supports by Swagger plugin in NestJS
- How to build and deploy a Docker image with Dockerfile, optimization of Dockerfile, and how to use Docker Compose to deploy multiple Docker images
- Deployment to Digital Ocean droplets using Nginx - reverse proxy and SSL
- Implement a modern CI/CD pipeline with GitHub Actions and Docker
https://github.com/QuanKhs/urTicket-frontend
Click to expand
- 📂 \urTicket-backend
- 📂 initialize-postgres
- 📂 src
- 📂 auth
- 📂 base
- 📂 cards
- 📂 common
- 📂 constants
- 📂 database
- 📂 files
- 📂 filters
- 📂 genres
- 📂 group-theater
- 📂 interceptors
- 📂 mailConfirmation
- 📂 movies
- 📂 news
- 📂 people
- 📂 pipes
- 📂 products
- 📂 reservations
- 📂 reviews
- 📂 seats
- 📂 showtimes
- 📂 stripe
- 📂 swagger
- 📂 theaters
- 📂 tickets
- 📂 users
- 📄 app.controller.ts
- 📄 app.module.ts
- 📄 app.service.ts
- 📄 main.ts
- 📂 test
- 📄 Dockerfile
- 📄 README.md
- 📄 docker-compose.prod.yml
- 📄 docker-compose.yml
- 📄 package-lock.json
- 📄 package.json
- 📄 tsconfig.build.json
- 📄 tsconfig.json
-
Install Docker and Docker compose (from the Docker website)
-
Fork and clone the urticket-backend repo (see Contributing page)
git clone https://github.com/QuanKhs/urTicket-backend.git
-
From the src folder run:
docker-compose -f docker-compose.prod.yml
-
Open a browser to see the application running
http://localhost:5000/api/v1/doc/#
-
To shutdown the application run:
docker-compose down
-
Fork and clone the urticket-backend repo (see Contributing page)
git clone https://github.com/QuanKhs/urTicket-backend.git
-
Install dependencies & add them to your path:
- Create a new PostgreSQL database: you can find
urticket.sql
in theinitialize-postgres
folder
-
Start the urticket-backend server:
npm install npm run start
-
(Optional) Start Node services by running
npm run start:dev
to start the Node services in development mode:npm run start:dev
-
Docker hub: Docker image
-
Server: Server
Quankhs 💡 👨💻 💭 🐛 😩 👿 |