{"id":21246831,"url":"https://github.com/apfirebolt/mern-subject-notes","last_synced_at":"2026-04-14T10:31:49.995Z","repository":{"id":114819839,"uuid":"416931862","full_name":"Apfirebolt/mern-subject-notes","owner":"Apfirebolt","description":"A subject notes CRUD app created using Express, React, MongoDB and Node","archived":false,"fork":false,"pushed_at":"2023-01-01T13:39:10.000Z","size":1758,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-15T04:45:12.059Z","etag":null,"topics":["chakra-ui","expressjs","javascript","jsonwebtoken","mern","mongodb","mongoosejs","nodejs","react","react-redux","reactjs"],"latest_commit_sha":null,"homepage":"","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/Apfirebolt.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2021-10-13T23:55:04.000Z","updated_at":"2023-01-10T10:01:41.000Z","dependencies_parsed_at":"2023-05-23T19:30:28.845Z","dependency_job_id":null,"html_url":"https://github.com/Apfirebolt/mern-subject-notes","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Apfirebolt/mern-subject-notes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Apfirebolt%2Fmern-subject-notes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Apfirebolt%2Fmern-subject-notes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Apfirebolt%2Fmern-subject-notes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Apfirebolt%2Fmern-subject-notes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Apfirebolt","download_url":"https://codeload.github.com/Apfirebolt/mern-subject-notes/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Apfirebolt%2Fmern-subject-notes/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31793212,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T02:24:21.117Z","status":"ssl_error","status_checked_at":"2026-04-14T02:24:20.627Z","response_time":153,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["chakra-ui","expressjs","javascript","jsonwebtoken","mern","mongodb","mongoosejs","nodejs","react","react-redux","reactjs"],"created_at":"2024-11-21T02:07:21.502Z","updated_at":"2026-04-14T10:31:49.981Z","avatar_url":"https://github.com/Apfirebolt.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MERN Subject Notes - Web application which simulates a Notebook ⚡️\n\n## Project Briefing\n\nThis is a notes tracking web application I built to keep tracks of note-worthy points categorized by subjects. It's created in one of the most popular full stack technologies combination known as MERN (MongoDB, Express, React, Node). \n\nMade with ❤️ by **[@apfirebolt](https://github.com/Apfirebolt/)**\n## Features\n\n- Contains token based user auth system. \n- Each user can perform CRUD on Subjects.\n- Subjects would have Topics and Topics would have Notes, this would have CRUD operations for both of these modules.\n- Form field validation applied for both front-end and back-end using Express validator and React form hooks packages.\n- Chakra UI components used for Toast messages, Modals, Buttons and more. \n\n## Built With\n\n* [Express](https://expressjs.com/)\n* [React](https://reactjs.org/)\n* [MongoDB](https://www.mongodb.com/)\n* [Redux](https://redux.js.org/)\n* [Chakra UI Kit](https://chakra-ui.com/)\n\n## Project setup\n\nSimply install node modules for both frontend and backend, the project is already configured to serve build content files in production which is generated by Vue which resides inside the build folder.\n\nConcurrently, a package is used for development and allows us to launch both frontend and back-end in one go using single command. Alternatively, in dev mode you can run both the applications on separate ports, cors is enabled in this project for the back-end.\n\n```\nnpm install\nnpm run dev\n```\n\nFor production, build the frontend of the app and then run the backend app only. \n\n```\nnpm run build\nnpm start\n```\n## Database Architecture\n\n- MongoDB is used as database which works pretty smoothly with Javascript and other Javascript frameworks. \n- Mongoose ORM is used to define document schemas and perform \ncomplex queries.\n- It has 2 models namely 'User' and 'Subjects'.\n- Nested or Embedded documents is used for Topics within a subject and Notes within a Topic.\n\n## Project Screenshots\n\nPlease find some of the screenshots of the application. Below is the screenshot of the Register Page.\n\n![alt text](./screenshots/register.png)\n\nLogin Page.\n\n![alt text](./screenshots/login.png)\n\nAdd Topic Modal, topics can be added within a subject through a modal. CRUD on Topics is supported\n\n![alt text](./screenshots/add_topic.png)\n\nAdd Note Modal, notes can be added within a topic through a modal. CRUD on Notes is supported\n\n![alt text](./screenshots/add_note.png)\n\nSubject list page, user after successful login can add subjects which would house topics and notes.\n\n![alt text](./screenshots/subjects.png)\n\nSubject detail page, would contain list of all the topics within a subject.\n\n![alt text](./screenshots/subject_detail.png)\n\nTopic detail page, would contain list of all the notes within a topic.\n\n![alt text](./screenshots/topic_detail.png)\n\nDelete Subject modal. Similar modals for CRUD operations exist for notes and topics.\n\n![alt text](./screenshots/delete_subject.png)\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapfirebolt%2Fmern-subject-notes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapfirebolt%2Fmern-subject-notes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapfirebolt%2Fmern-subject-notes/lists"}