Skip to content

This is a simple Cinema Reservation Web API that allows you to perform

Notifications You must be signed in to change notification settings

seifhassan89/CinemaReservation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Cinema Reservation Web API using NestJS and Postgresql, ReactJs, Translation(En,Ar)

This is a simple Cinema Reservation Web API that allows you to perform

Features

  • 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.

Technologies Used in Backend

  • NodeJs
  • Typescript
  • NestJs
  • postgresql

Technologies Used in Frontend

  • JavaScript
  • ReactJS framework
  • MUI Framework
  • Redux toolkit
  • Redux-saga
  • Rxjs
  • Sass
  • Axios
  • Formik
  • Yup
  • Translation (EN + AR)

Prerequisites

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)

Getting Started

To get started with this project, follow these steps:

Database Connection

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

Installing

  1. Clone the repository to your local machine.
git clone https://github.com/seifhassan89/CinemaReservation
  1. Install NodeJs if you haven't already
Please visit https://nodejs.org/en and follow the instractions
  1. Install Nestjs if you haven't already
npm install -g @nestjs/cli
  1. open terminal and change directory to server
cd server
  1. Run bundle install to install all required node module for BE project
npm install
  1. create a new terminal and change directory to client
cd client
  1. Run bundle install to install all required node module for FE project
npm install

Run the application

  1. Here is command to run your FE application:
npm start
  1. Here is command to run your BE application:
npm run start:dev

Usage

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/#/

image image image image image image

Usage

The API endpoints used in FE Portal. The following endpoints are available: as we go to http://localhost:3000

image

type any email: to get pass from login (test@test.com) this is demo for authentication and authorization.

Database ERD

CimaERD

Contributing

Contributions to this project are welcome! To contribute, follow these steps:

  1. Fork this repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and commit them with descriptive commit messages.
  4. Push your changes to your fork.
  5. Create a pull request from your fork to this repository.