App was deployed: https://live.ruhrv7sion.de/
- Famous TechStack: MERN = MongoDB + Express + React + NodeJS
- Development = Backend Node.js server + Frontend React server
- Production = Backend Node.js server + static react files on a webserver
- MongoDB is running in the web and not localy. For this project to work the .env file is needed in the backend. More about this below.
- Frontend: For the style we used the CSS framework react-boostrap (Boostrap). The CSS framework "Mui" was also used sporadically.
- The attached images are royalty-free and were obtained from pixabay.com and pexels.com (no attribution required). Icons were taken directly from Bootstrap, MUI and REACT.
- The font is called "Asap" and is from GoogleFonts. This is included locally and NOT via "stylesheet link".
- This website uses cookies (JWT cookie for a session-user management), but has no necessary cookie banner or query.
If you don't want to work with the repository and "just" want to run it, you can download the repository as a ZIP and extract it. Then you can skip step 1 and 2.
- Install Node.js + NPM (Short instruction from the documentaion)
- Clone Repository using e.g. GitHub Desktop (recommended) (Github Desktop)
- !node_moduels are needed to be installed:
3.1 Navigate a terminal to your server folder
3.2 Enter:
npm install
- Repeat step 3. for the client folder
###Steps pictures
- After running npm install the node_modules fodler should be created
- After running npm install the node_modules fodler should be created
- Do not forget the -env file!
- Navigate a terminal to your client folder
- Enter the following code:
npm start
- Navigate a terminal to your server folder
- Enter the following code:
npm run dev
- Create .env file in folder named "server"
- For the backend to work at all, the fields must be filled in. Please contact Nils Pautzke in SLACK. Sampledata:
PORT=XXX
ACCESS_TOKEN_SECRET=XXX
REFRESH_TOKEN_SECRET=XXX
DATABASE_URI=XXX
You can create an account or use the following company account. The data for this account has already been filled in.
Username: Company1
Password: Company1!
The frontend was deployed on a simple web hoster. In this case, all-inkl.com. Fontend as static files with "npm run build". ATTENTION! useEffect is not executed twice but only once. Therefore the code must be adapted with (effectRan.current === false).
Backend was deployed on "Heroku" and only allows requests from certain addresses.