{"id":19592906,"url":"https://github.com/tharunoptimus/classroom","last_synced_at":"2026-04-06T21:34:47.292Z","repository":{"id":155598401,"uuid":"400532645","full_name":"tharunoptimus/classroom","owner":"tharunoptimus","description":"Task - Create Online Classroom to chat, assignments, tests","archived":false,"fork":false,"pushed_at":"2025-09-27T12:10:48.000Z","size":571,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-27T13:28:21.307Z","etag":null,"topics":["express","jquery","mongodb","mongoose","nodejs","pug","pwa","serviceworker"],"latest_commit_sha":null,"homepage":"https://classroom.cybernode.dev/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tharunoptimus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-08-27T14:17:28.000Z","updated_at":"2025-09-27T12:10:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"f2a6457f-e669-4e01-84d5-f21ffc766f04","html_url":"https://github.com/tharunoptimus/classroom","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tharunoptimus/classroom","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tharunoptimus%2Fclassroom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tharunoptimus%2Fclassroom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tharunoptimus%2Fclassroom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tharunoptimus%2Fclassroom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tharunoptimus","download_url":"https://codeload.github.com/tharunoptimus/classroom/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tharunoptimus%2Fclassroom/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31491097,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-06T17:22:55.647Z","status":"ssl_error","status_checked_at":"2026-04-06T17:22:54.741Z","response_time":112,"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":["express","jquery","mongodb","mongoose","nodejs","pug","pwa","serviceworker"],"created_at":"2024-11-11T08:37:22.400Z","updated_at":"2026-04-06T21:34:47.285Z","avatar_url":"https://github.com/tharunoptimus.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The Classroom\n\n## Config\n- Add environment variable `MONGODB_URI` with your MongoDB connection string.\n\n## Install\n`npm install` to install the dependencies.\n\n## Start\n`npm start` to start the server.\n\n## About\n\n### Libraries, Frameworks Used\n- [Express](https://expressjs.com/) - A Node.js web application framework.\n- [Mongoose](https://mongoosejs.com/) - A MongoDB object modeling tool.\n- [Bootstrap](https://getbootstrap.com/) - A front-end framework for developing responsive, mobile-first projects on the web.\n- [JQuery](https://jquery.com/) - A JavaScript library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development.\n\n### What can be done in this project?\n\n#### Dashboard\n- Lists all the classes you're in and the ones you own.\n- Directly navigate to a class' assignment or tests or people page from the dashboard.\n\n#### General\n- Create Virtual Classes to help students learn online.\n- Send realtime messages in the class stream.\n- Assign the students with assignments and tests.\n- Find all the people in the class and contact them.\n- Change your class name or delete it anytime\n- This is a PWA so you can install it anywhere and get the same experience.\n\n#### Stream\n- Send Messages and see all your tasks in one place\n- Attend all the lectures with a click of a button\n\n#### Assignment and Tests\n- Assignments and tests are created by the teachers and students can see them in the class stream\n- Get realtime updates about the submissions and grades\n\n#### People\n- Find all the people in the class and contact them\n\n#### Calendar\n- See all your classes and the timings and a direct link to attend them\n- Normal Calendar to create and edit events\n\n### Technologies Used\n- [Service Worker](https://developers.google.com/web/fundamentals/primers/service-workers/) - A progressive web app (PWA) service worker to cache the app and serve it offline.\n- [Background Sync](https://developers.google.com/web/fundamentals/primers/service-workers/background-sync) - Send data to the server when you're offline and magically get it when you're back online.\n\n### Dependencies Used\n- [Express](https://expressjs.com/) - A Node.js web application framework.\n- [Bcrypt](https://www.npmjs.com/package/bcrypt) - A library for hashing and comparing passwords.\n- [Express-Session](https://www.npmjs.com/package/express-session) - A session middleware for Express.\n- [Mongoose](https://mongoosejs.com/) - A MongoDB object modeling tool.\n- [MongoDb](https://www.mongodb.com/) - A document-oriented database.\n- [Nanoid](https://www.npmjs.com/package/nanoid) - A short, secure, URL-friendly, unique ID generator.\n- [Pug](https://www.npmjs.com/package/pug) - A templating engine for Node.js.\n- [Serve-Favicon](https://www.npmjs.com/package/serve-favicon) - A module for serving a favicon.\n\n\n### Hosting\n- [Heroku](https://www.heroku.com/) - A cloud platform for hosting web apps.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftharunoptimus%2Fclassroom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftharunoptimus%2Fclassroom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftharunoptimus%2Fclassroom/lists"}