This is a very basic event booking web application which allows user to sign up, login, create their own events, make bookings or cancel their own bookings. User is able to have a very basic graphical view of the summary of the bookings they have made.
This application is built using:
-
Frontend: React
-
Backend: Node.js Express + GraphQL
-
Database: MongoDB
-
Node.js v11 OR above.
-
Package manager npm to install the all dependencies.
-
Setup a MongoDB account and create a database there.
-
Setup environment variables in
.env
file, place it in the/server
folder.- Reference:
.env.example
- Reference:
This project is tested and develop on Ubuntu 18.04 LTS.
./setup.sh
./run.sh
Setup for Linux users
./setup.sh
Note: If you're not using Linux, you need to manually run npm i
at both server
and client
folder.
Start Express + GraphQL API backend:
cd server
npm start
cd
back to the project directory
Start the React frontend:
cd client
npm start
Make sure you have Docker installed on your machine.
docker-compose build
docker-compose up
-
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
-
Please run
./lint.sh
before commiting any code and make sure it passes all the lint and format check -
Please make sure to update tests as appropriate.