waveyboym / COS-214-Project

A restaurant simulation application that makes use of various design patterns. implemented in C++ by {{NULL}}_Exceptions

Home Page:https://waveyboym.github.io/COS-214-Project/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

COS-214-Project

presentation

Table of Contents

Summary

A restaurant simulation application that makes use of various design patterns. implemented in C++ with a ReactJS frontend.

Contributing

Please have a look at CONTRIBUTING.md for more details on contributing to this repo

Building

Building from the command line with a Linux based OS(Debian, Ubuntu and Fedora) automatically

  1. Open a new terminal
  2. Download this bash file
  3. Run the bash script in your terminal and watch the magic happen ✨
  4. Then open another terminal and from the root of this project run
cd COS-214-PROJECT/src/frontend
  1. Run
npm install
  1. Run
npm start

Building from the command line with a Linux based OS(Debian, Ubuntu and Fedora) manually

  1. Open a new terminal
  2. Run
sudo apt-get install libgtest-dev
  1. Run
sudo apt-get install cmake
  1. Follow this guide to download and install boost
  2. Clone this repo
  3. Open a new terminal where you cloned this repo to and run
cd COS-214-PROJECT/src
  1. For Release(no unit tests, with gui), run
cmake -DCMAKE_BUILD_TYPE=Release -S . -B build
  1. For Debug(google unit tests, with no gui), run
cmake -DCMAKE_BUILD_TYPE=Debug -S . -B build
  1. Run
cmake --build build
  1. For Release(no unit tests, with gui), run
cd build && ./main
  1. For Debug(google unit tests, with no gui), run
cd build && ctest
  1. If you are in debug, skip steps 12 to 14
  2. Then open another terminal and from the root of this project run
cd COS-214-PROJECT/src/frontend
  1. Run
npm install
  1. Run
npm run dev
  1. If any build files are generated on your local machine, please do not commit them. Rather create a .gitignore file in the build directory and add an asterik(*) to it.
  2. For a more detailed tutorial on cmake, follow this link

Building from the command line with windows OS

  1. Before we start, make sure you have a c++ compiler installed on your system. If not download and install one.
  2. Download and install cmake
  3. Download boost for windows zip file.
  4. Unzip the zip file
  5. Create a folder named Boost under C:\Program Files
  6. In that folder, paste the contents from the unzipped file
  7. Navigate to boost_<version number>\boost_<version number>\tools\build and open a terminal there
  8. run
.\bootstrap.bat gcc
  1. run the command below or the command boost tells you to run
.\b2.exe install
  1. run
cd ../../
  1. run
.\bootstrap.bat gcc
  1. run
b2 --build-dir="C:\Program Files\Boost\boost_<version number>\boost_<version number>\build" --build-type=complete --prefix="C:\<location to where you want boost to be goes here>\boost" toolset=gcc install
  1. In your systems path variables, add C:\<location where you placed boost goes here>\boost\include\boost-1_80 and C:\<location where you placed boost goes here>\boost\lib
  2. Clone this repo
  3. Open a new terminal where you cloned this repo to and run
cd COS-214-PROJECT/src
  1. For Release(no unit tests, with gui), run
cmake -DCMAKE_BUILD_TYPE=Release -S . -B build
  1. For Debug(google unit tests, with no gui), run
cmake -DCMAKE_BUILD_TYPE=Debug -S . -B build
  1. Run
cmake --build build
  1. For Release(no unit tests, with gui), run
cd build && ./main
  1. For Debug(google unit tests, with no gui), run
cd build && ctest
  1. If you are in debug, skip steps 11 to 13
  2. Then open another terminal and from the root of this project run
cd COS-214-PROJECT/src/frontend
  1. Run
npm install
  1. Run
npm run dev
  1. If any build files are generated on your local machine, please do not commit them. Rather create a .gitignore file in the build directory and add an asterik(*) to it.
  2. For a more detailed tutorial on cmake, follow this link

Building with visual studio code

  1. Download and install C++ build tools by following this tutorial
  2. Download and install boost for your operating system.
  3. Download and install cmake
  4. Clone this repo
  5. Download and install visual studio code
  6. Download and install cmake tools from the visual studio marketplace
  7. Add the folder COS-214-Project to a new work space in visual studio or open with code from your file manager. openwithcode
  8. Wait for VS code to initialize and set itself up(it may add some files under the build folder)
  9. At the bottom of Visual Studio code, you should see a play button, click it and the project should build and run. build
  10. Specify the build type(Release or Debug) by clicking and changing it. buildtype
  11. If you are in debug, skip steps 12 to 14
  12. Then open another terminal and from the root of this project run
cd COS-214-PROJECT/src/frontend
  1. Run
npm install
  1. Run
npm run dev
  1. For a more detailed tutorial on cmake, follow this link
  2. Alternative tutorials:

Contributors

Thanks to these wonderful people for their contributions.

Profile Username Personal Website Role Bio
profile Michael waveyboym Tech Lead, Software developer, Software architect, UI/UX Engineer interested in computer science and creating fun CS related projects
profile Carey cmokou Software developer, UI/UX Engineer, Business analyst the picasso of web design and interested in exploring the world of computer science :)
profile Lunga Remiku-bit Engineering Manager, Software developer, Business analyst To me, programming is more than an important practical art. It is also a gigantic undertaking in the foundations of knowledge.
profile Jaden Jaden Moodley Software developer, QA engineer, Tester Likes game dev and interesting app ideas
profile Jaide JMPastoll Software developer, Business analyst Interested in game dev and currently craving sleep
profile Linda LOK3LANI Software developer, Business analyst Has a talent for frontend but majorly interested in the guts of most projects
profile Nicholas NicholasJHarvey Software developer, Tester Very interested in programming, with a focus on backend development

About

A restaurant simulation application that makes use of various design patterns. implemented in C++ by {{NULL}}_Exceptions

https://waveyboym.github.io/COS-214-Project/


Languages

Language:C++ 81.7%Language:JavaScript 14.2%Language:TypeScript 2.9%Language:SCSS 0.7%Language:CSS 0.4%Language:Shell 0.1%Language:CMake 0.1%Language:Makefile 0.0%Language:HTML 0.0%