Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/devorein/qocean
A self hosted MERN quiz app for making learning fun and effective
https://github.com/devorein/qocean
apollo-client apollo-server-express graphql-api learning-by-doing mern-stack questions-and-answers quiz-app react-app self-hosted
Last synced: 20 days ago
JSON representation
A self hosted MERN quiz app for making learning fun and effective
- Host: GitHub
- URL: https://github.com/devorein/qocean
- Owner: Devorein
- License: mit
- Created: 2020-05-10T04:11:59.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-01-25T04:02:27.000Z (about 2 years ago)
- Last Synced: 2025-01-10T03:51:40.550Z (23 days ago)
- Topics: apollo-client, apollo-server-express, graphql-api, learning-by-doing, mern-stack, questions-and-answers, quiz-app, react-app, self-hosted
- Language: JavaScript
- Homepage:
- Size: 3.93 MB
- Stars: 11
- Watchers: 0
- Forks: 0
- Open Issues: 49
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Qocean
A self hosted MERN quiz app for making learning fun and effective.
Since its self hosted you'll host the app on your own server aka localhost and your own database, so that none can view your credentials and private data, but it needs a bit more effort from you to work.
## Requirements
* Node
* NPM## Usage Guidelines
1. Clone or download the experiment branch. It always has the latest commits.
2. Navigate to the client folder and install the dependencies by running `npm i` .
3. In the public folder create another folder named `uploads` , this is where all the uploaded files will be stored.
4. Navigate to the server folder and install its dependencies by running `npm i` .
5. Inside config folder create a file named config.env (its required as it contains all the configuration info for the app).
6. Create a mongodb atlas account and cloud cluster, and provide the url to the config.env file.
7. To start both the client and the server navigate to the respective directory and run `npm start`MERN app for making killer quiz to enhance learning
Since its self hosted you'll host the app on your own server aka localhost and your own database, so that none can view your credentials and private data, but it needs a bit more effort from you to work.
### Configuration file
Make sure your configuration file have the following key and value pairs separated by =
`PORT` =any valid port
`NODE_ENV` =development|production|testing
`MONGO_URI` =mongodb atlas cluster url
`FILE_UPLOAD_SIZE` =max file upload size in bytes
`JWT_SECRET` =any strong password
`JWT_EXPIRE` =see jwt documentation for more info, tldr; use `day_number` d to specify how many days the token will last
`JWT_COOKIE_EXPIRE` =same as `JWT_EXPIRE` without the d
## Features
Take a look at this file to see all the available features of the app and the api.
## API Documentation
### Rest
Take a look at this file to understand the rest api structure.
### Graphql
To generate a static graphql documentation, install `graphqhdoc` , navigate to the server dir and run `graphdoc`