Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tharunoptimus/classroom
Task - Create Online Classroom to chat, assignments, tests
https://github.com/tharunoptimus/classroom
express jquery mongodb mongoose nodejs pug pwa serviceworker
Last synced: 13 days ago
JSON representation
Task - Create Online Classroom to chat, assignments, tests
- Host: GitHub
- URL: https://github.com/tharunoptimus/classroom
- Owner: tharunoptimus
- License: mit
- Created: 2021-08-27T14:17:28.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-09-30T23:18:00.000Z (over 3 years ago)
- Last Synced: 2024-11-11T08:47:57.585Z (2 months ago)
- Topics: express, jquery, mongodb, mongoose, nodejs, pug, pwa, serviceworker
- Language: JavaScript
- Homepage: https://classroom.adaptable.app/
- Size: 629 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# The Classroom
## Config
- Replace the string with your connect string in the `mongoose.connect` method in the `database.js` file.## Install
`npm install` to install the dependencies.## Start
`npm start` to start the server.## About
### Libraries, Frameworks Used
- [Express](https://expressjs.com/) - A Node.js web application framework.
- [Mongoose](https://mongoosejs.com/) - A MongoDB object modeling tool.
- [Bootstrap](https://getbootstrap.com/) - A front-end framework for developing responsive, mobile-first projects on the web.
- [JQuery](https://jquery.com/) - A JavaScript library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development.### What can be done in this project?
#### Dashboard
- Lists all the classes you're in and the ones you own.
- Directly navigate to a class' assignment or tests or people page from the dashboard.#### General
- Create Virtual Classes to help students learn online.
- Send realtime messages in the class stream.
- Assign the students with assignments and tests.
- Find all the people in the class and contact them.
- Change your class name or delete it anytime
- This is a PWA so you can install it anywhere and get the same experience.#### Stream
- Send Messages and see all your tasks in one place
- Attend all the lectures with a click of a button#### Assignment and Tests
- Assignments and tests are created by the teachers and students can see them in the class stream
- Get realtime updates about the submissions and grades#### People
- Find all the people in the class and contact them#### Calendar
- See all your classes and the timings and a direct link to attend them
- Normal Calendar to create and edit events### Technologies Used
- [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.
- [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.### Dependencies Used
- [Express](https://expressjs.com/) - A Node.js web application framework.
- [Bcrypt](https://www.npmjs.com/package/bcrypt) - A library for hashing and comparing passwords.
- [Express-Session](https://www.npmjs.com/package/express-session) - A session middleware for Express.
- [Mongoose](https://mongoosejs.com/) - A MongoDB object modeling tool.
- [MongoDb](https://www.mongodb.com/) - A document-oriented database.
- [Nanoid](https://www.npmjs.com/package/nanoid) - A short, secure, URL-friendly, unique ID generator.
- [Pug](https://www.npmjs.com/package/pug) - A templating engine for Node.js.
- [Serve-Favicon](https://www.npmjs.com/package/serve-favicon) - A module for serving a favicon.### Hosting
- [Heroku](https://www.heroku.com/) - A cloud platform for hosting web apps.