Skip to content

tharunoptimus/classroom

Repository files navigation

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 - A Node.js web application framework.
  • Mongoose - A MongoDB object modeling tool.
  • Bootstrap - A front-end framework for developing responsive, mobile-first projects on the web.
  • JQuery - 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 - A progressive web app (PWA) service worker to cache the app and serve it offline.
  • Background Sync - Send data to the server when you're offline and magically get it when you're back online.

Dependencies Used

  • Express - A Node.js web application framework.
  • Bcrypt - A library for hashing and comparing passwords.
  • Express-Session - A session middleware for Express.
  • Mongoose - A MongoDB object modeling tool.
  • MongoDb - A document-oriented database.
  • Nanoid - A short, secure, URL-friendly, unique ID generator.
  • Pug - A templating engine for Node.js.
  • Serve-Favicon - A module for serving a favicon.

Hosting

  • Heroku - A cloud platform for hosting web apps.