This is a simple Cinema Reservation Web API that allows you to perform
- CRUD operations on Movies records.
- CRUD operations on Halls records.
- CRUD operations on party-time records.
- CRUD operations on Reservation records.
- CRUD operations on seats records.
- NodeJs
- Typescript
- NestJs
- postgresql
- JavaScript
- ReactJS framework
- MUI Framework
- Redux toolkit
- Redux-saga
- Rxjs
- Sass
- Axios
- Formik
- Yup
- Translation (EN + AR)
Before you can run this Web API, you need to have the following installed on your machine:
- Node.js (version 16 or later)
- npm (version 8 or later)
- postgresql (version 4 or later)
- ReactJs (Version 18 or later)
- MUI (Version 5 or later)
To get started with this project, follow these steps:
1.to create the database:
go to pgAdmin4 and create new DB called cima as in the .env file
2.to run the database migrations run:
npm run db:run
- Clone the repository to your local machine.
git clone https://github.com/seifhassan89/CinemaReservation
- Install NodeJs if you haven't already
Please visit https://nodejs.org/en and follow the instractions
- Install Nestjs if you haven't already
npm install -g @nestjs/cli
- open terminal and change directory to server
cd server
- Run bundle install to install all required node module for BE project
npm install
- create a new terminal and change directory to client
cd client
- Run bundle install to install all required node module for FE project
npm install
- Here is command to run your FE application:
npm start
- Here is command to run your BE application:
npm run start:dev
The API endpoints can be tested using a tool such as Swagger. The following endpoints are available: as we go to http://localhost:3001/Api/#/
The API endpoints used in FE Portal. The following endpoints are available: as we go to http://localhost:3000
type any email: to get pass from login ([email protected]) this is demo for authentication and authorization.
Contributions to this project are welcome! To contribute, follow these steps:
- Fork this repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them with descriptive commit messages.
- Push your changes to your fork.
- Create a pull request from your fork to this repository.