/lecours-e-learning-webapp

Beautiful UI & UX E-Learning App where Students Can Have Live Chat with Other Learners While Watching Educational Video Courses. With Deep Learning Based Assignment Proofing System for Instructors.

Primary LanguageEJS

LeCours - Interactive E-Learning App for Students

Beautiful UI & UX E-Learning App where Students Can Have Live Chat with Other Learners While Watching Educational Video Courses. With Deep Learning Based Assignment Proofing System for Instructors.

Highlights:

  • The web app contains a live chat feature with custom room for each course. This would help students watch the recorded lectures while chatting with their friends.
  • A deep learning-based image similarity processing API is implemented to check if two assignments submitted by different students are similar or not.
  • The web app contains a note taking feature, with which, the students can take notes while learning the course.
  • The app is implemented with industry best password protection strategy with multiple salt rounds and hashing function implemented internally using bcrypt. It also contains Google OAuth2.0 Authentication Implementation for faster and secure logins.

Installation

Please refer to the installation docs here.

How to start contributing to this project?

The lecours-e-learning-webapp project is built by the community for the community. We welcome contributions from everyone, especially new contributors.

You can help with lecours-e-learning-webapp's development in many ways, including art, coding, design and documentation.

Developers: please see this wiki page for instructions on how to set things up and commit changes. All other contributors: please see our general contributor guidelines.

Frontend Technologies Used:-

  • Socketio
  • HTML
  • CSS
  • JavaScript
  • Flowbite
  • Tailwind
  • Font Awesome
  • EJS

Backend Technologies Used:-

  • Node.JS
  • Socketio
  • Express.JS

Database Technology Used:-

  • MongoDB
  • Redis

Following Node Modules are used:

  • dotenv - for securing api keys
  • uniqid - for generating unique ids
  • express - for server side logic
  • body-parser - for parsing the body data
  • mongoose - for using mongodb effeciently
  • express-session - for cookie sessions
  • passport - for authentication
  • passport-local-mongoose - passport plugin for mongoose
  • passport-google-oauth20 - passport auth strategy for google authentication
  • mongoose-findorcreate - a utility mongoose function
  • path - a utility module to handle paths in node server
  • http - to handle http requests and server
  • socketio - socketio plugin for live chat system
  • redis - for database cache
  • lodash - for working with URLs containing symbols or spaces
  • multer - for handling file uploads
  • deepai - for using the deepai image computing API
  • fs - for working with file system in node

a b c d e