{"id":25126335,"url":"https://github.com/sandygudie/quiz-api","last_synced_at":"2026-04-11T10:09:38.392Z","repository":{"id":142260093,"uuid":"610531452","full_name":"sandygudie/quiz-api","owner":"sandygudie","description":"Quizbase","archived":false,"fork":false,"pushed_at":"2023-12-04T19:14:57.000Z","size":1057,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-02T19:13:14.110Z","etag":null,"topics":["documentation","docusaurus","eslint","express","mongodb","nodejs","prettier","reactjs"],"latest_commit_sha":null,"homepage":"https://quizbase.netlify.app/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sandygudie.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-07T00:39:40.000Z","updated_at":"2023-12-05T17:44:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"f17836e9-524e-4f1b-9988-1d74f794c4b5","html_url":"https://github.com/sandygudie/quiz-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sandygudie/quiz-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandygudie%2Fquiz-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandygudie%2Fquiz-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandygudie%2Fquiz-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandygudie%2Fquiz-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sandygudie","download_url":"https://codeload.github.com/sandygudie/quiz-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandygudie%2Fquiz-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28131090,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-30T02:00:05.476Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["documentation","docusaurus","eslint","express","mongodb","nodejs","prettier","reactjs"],"created_at":"2025-02-08T09:29:22.158Z","updated_at":"2025-12-30T19:02:53.414Z","avatar_url":"https://github.com/sandygudie.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Yellow Black Playful Lamp Bulb Idea Company Logo-svg](https://user-images.githubusercontent.com/54219127/236227772-222d3f86-e627-417a-a299-b686c44f8487.svg)\n\n## Description\n\nAn open source RESTFUL API quiz questions for popular programming languages. It consists of Multiple Choice Questions(MCQs) in various areas including: HTML, CSS, JavaScript, NextJs etc.\n\n### Resources\n\n- Documentation: https://quizbase.netlify.app\n- Demo App: https://app-quizs.netlify.app/login\n- Postman Documentation: https://documenter.getpostman.com/view/9434341/2s93Y3v1bu\n\n### Technology/Tools\n\n- [**NodeJs 14.17.5**](https://nodejs.org/en/) - A cross-platform JavaScript runtime environment for developing server-side applications\n- [**Express 4.18.2**](https://expressjs.com/) - A NodeJs web application framework that helps manage servers and routes.\n- [**Mongoose ^7.0.0**](https://www.mongodb.com/) - A non-relational Database\n- [**Eslint ^7.32.0 || ^8.2.0**](https://eslint.org/) - Handles codebase Linting, (Eslint standard used)\n- [**Prettier ^2.8.4**](https://prettier.io/) - Code formatter to to make code base look pretty\n- [**Husky ^8.0.3**](https://github.com/typicode/husky) and [**lint-staged ^13.2.0**](https://github.com/okonet/lint-staged) - Pre-commit hooks that runs on `git commit`\n\n### Project Folder Structure\n\n```\n.husky\nnode_modules/\ndocumentation/\nsrc/\n   --config\n     --config.js\n     --logger.js\n   --controllers/\n     --auth.js\n     --quiz.js\n     --contributor.js\n   --routes/\n     --auth.js\n     --quiz.js\n     --contributor.js\n     --index.js\n     --user.js\n   --models/\n     --quiz.js\n     --user.js\n     --contributor.js\n   --middlewares/\n     --error-handler.js\n     --token\n   --db/\n     --db.js\n   --utils/\n     --sendEmail\n        --templates\n          --index.ejs\n        --emailhandler.js\n     --responseHandler.js\n   app.js\n   server.js\n.env-example\npackage.json\n```\n\n### Environment Setup\n\n- Make sure you have **nodejs v14.17.5** installed by running the following command below. You can install **nodejs** from [here](https://nodejs.org/en/download/) if you don't have it.\n- To check node version\n  ```\n  node --version\n  ```\n- Clone the respository to your local machine using the command\n  ```\n  git clone https://github.com/sandygudie/quiz-api.git\n  ```\n- Navigate to the project folder.\n- And open the project with your code editor (VScode recommended)\n\n### Start the server\n\n- Install the package dependencies by running the following command in the terminal `yarn install`\n- Create a `.env` in the project folder, get variables from the `.env.example` file sample and ensure to add the values(e.g MONGODB_URI)\n- To start the server locally, run the command `yarn run dev`\n\n### Run Documentation\n\n- Navigate to the documentation folder. `cd documentation`\n- Install Packages `yarn install`\n- To start documentation locally, run the command `yarn start`\n\n### Formatting for the project\n\n- We're using `eslint` for js linting, and `prettier` for code formatting.\n- Please make it a point to install `eslint` and `prettier` plugins on vscode to aid in your coding process.\n- Run the command to fix all auto-fixable formatting errors in the whole project based on `eslint` rules\n  ```\n  yarn run lint\n  ```\n- Run the command to check and fix file formatting with `prettier`\n  ```\n  yarn run format\n  ```\n- Also Linting has been set up for staged commits in the project.\n\n### Deployment on Render\n\n- Application is on auto deploy from Github to Render.\n\n## CONTRIBUTING WORKFLOW\n\n- You can contribute to adding questions for the project [login](https://quizbase.netlify.app/login)\n- If you like the project, leave your star.\n- If you would like to complain/suggest/contribute to this project, feel free to open a issue :heart_decoration:\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandygudie%2Fquiz-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsandygudie%2Fquiz-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandygudie%2Fquiz-api/lists"}