QuizMaker is a MERN stack application that lets you create quizzes and share them with others.
TypeScript - React - Redux - Express - MongoDB - MUI - Jest
Live preview: QuizMaker
This repo uses Yarn, it is required because I'm using yarn workspaces
yarnBefore you run the project, make sure to create a .env file in backend/ (Or you can just copy the sample file in the config folder and rename it to config.env)
This is an example how the config file should look
NODE_ENV=development
PORT=5000
# NODE_PATH=./src ts-node ./src/server.ts
MONGODB_URI=YOUR_PRODUCTION_URL
MONGODB_URI_DEV=mongodb://localhost:27017/QuizMakerDev
MONGODB_URI_TEST=mongodb://localhost:27017/QuizMakerTestThe frontend config can be found on frontend/src/config/index.ts
To run the project in development mode, run:
yarn devIn order to run it in production mode, run this:
yarn start:buildOr you can start it without building it again (In case you made your produciton build already):
yarn startTo lint all files run:
yarn lint:checkTo apply possible fixes, run:
yarn lint:fixThe repo uses Jest for unit tests and code coverage on the backend and React Testing Library/Jest on the frontend (Which is provided by create-react-app).
To run tests once, run
yarn testTo run tests once with coverage, run
yarn test:covcoverage data is stored in ./backend/coverage and ./frontend/coverage directories