/mern-movie-booking-app

A sample movie booking app on MERN stack

Primary LanguageJavaScript

MERN-movie-booking-app

  • Client side code base resides under client folder.
  • Server side code base resides under server folder.

Client Project Setup and Architecture.

Technologies used:

Project Structure

  • React components and other configurations resides under the client/src folder.
  • Container components are placed in the client/src/container folder.
  • SubComponents that are used for seats rendering resides in the clients/src/containers/App/components
  • Components that are re-usable are placed in the client/src/components folder.
  • API services setup can be found under client/src/utils folder.
  • Application theme Styles resides in client/src/styles folder.
  • App environment is in the config file.
  • Root html generation is done in the public folder.

Local Development Setup

  • Clone the repository.
  • Navigate to the client folder
  • Do npm install
  • After successfull installation start the development server using the following command npm run dev
  • The client will be up and running in the following URL http://localhost:8080.
  • If you want to customize the HTTP protocol, App host and Port number use the relevant env variables when running the npm run dev command.
  • To Build the code use npm run build command.
  • To start the prod server setup run the above command and then run the following command npm start

Server setup and architecture

Technologies used:

Project Structure

  • www folder contains the server setup.
  • App folder contains the routes, services and database setup.
  • Models folder contains the bootstrapping of mongoose models.
  • Seed folder contains the initial size seed data for seat generation.
  • routes folder contains the route setup of the server.
  • services folder contains the api services.

Local Development Setup

  • Clone the repository(skip the step if done already).
  • Navigate to the server folder.
  • Do npm install. The node verison should be >=8.0.0.
  • After successfull installation start the server using the command npm start.
  • The above command will transpile the code and generate dist folder. The transpiled version of index.js will be running in the port 8081.
  • If you want to customize the Port number use the relevant env variables when running the npm start command.

Please Note Once the server is started, the seat seed from seatSeed.js file will be populated in the seats collections using mongoose-seed library. You can opt out from this setup if you don't need the collection to be dropped when you restart the server using npm start by commenting out the seed generation after mongoose connection start in models file.

Demo

demo