Skip to content

yghugardare/Elearning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 

Repository files navigation

E-Learning Website with AI doubt assistance support

This full-stack E-learning website allows tutors to upload courses and students to purchase them. Students can get doubt support by asking questions in a Q&A forum or through an AI assistant. The AI is trained on course transcripts to provide accurate answers specifically related to the course material. The website also offers real-time analytics for course insights and DRM protection for video content.

Check link - https://elearning-front-end.vercel.app/

🔋Core Features

  1. Real-time student course purchase analytics on the admin dashboard.
  2. Upload video of the course and generate its transcript.
  3. Use the transcript of the video to train and fine tune the AI model.
  4. Student QNA , course purchase and review instant notification on Admin Dashboard.

👉Project Screen Shots -

E-learning AI BOT🤖 -ASKAI

EnterVideoName With video transcript - withTrs without transcript in light mode[just to show ui🌞] - w/otrs

Upload video to AI ⬆️-

addToAi Video to Transcript , Transcript sent to model trs

Real Time Analytics 📈-

Order,Course and User Analytics [used Re-charts]- order c ourse user

Instant Notification🔔 -

notif

🎯Problem It Solves

  • Empowers students with multiple channels for resolving doubts and deepening course understanding.
  • Provides teachers with an AI-powered tool to manage questions and offer more personalized support.
  • Offers analytics to help instructors track student progress and identify areas for improvement.
  • Protects Tutors content rights by providing DMR[Digital Media Rights] Encryption.

⚙️Tech Stack

🧑‍💻Language -

TypescriptTs

🎨Front-end -

  • NextJS 14: Powerful React framework for server-side rendering, performance, and developer experience.
  • Tailwind CSS: Utility-first CSS framework for rapid styling and customization.
  • Material UI: Library of pre-built React components based on Google's Material Design.
  • Recharts: Declarative charting library for creating visualizations.
  • socket.io-client: Enables real-time bidirectional communication between client and server.
  • vdoCipher: DRM service for securing video content.
  • Redux Toolkit Query: Simplifies data fetching and management in Redux applications.
  • @google/generative-ai: Integration with Google's Generative AI LLM for AI assistance.
  • NextAuth: Streamlines social authentication.
  • Formik & Yup: Robust form creation and validation tools.
  • @stripe/react-stripe-js: Facilitates Stripe payment processing on the frontend.

🗄️Backend -

  • Express: Node.js web framework for building APIs and server-side logic.
  • Nodemailer & EJS: Facilitate email sending for notifications and user interactions.
  • Cloudinary & Multer: Image and file storage/upload management.
  • Stripe: Secure payment gateway integration.
  • MongoDB & Mongoose: Flexible NoSQL database with an object modeling layer.
  • Redis: In-memory data structure store for high-performance caching.
  • socket.io: Real-time communication engine for backend-client interaction.
  • bcrypt & JWT: Secure password hashing and JSON web token authentication.

📹Video To Text📜 -

  • Streamlit: Creating an interactive and user-friendly web interface.
  • FFMPEGL Video to Audio Conversion
  • AssemblyAI: Ensuring high accuracy in speech-to-text conversion.
  • Docker: Making the app portable and easy to manage across platforms.

🤸Quick Start

Follow these steps to set up the project locally on your machine.

Prerequisites

Make sure you have the following installed on your machine:

Cloning the Repository -

git clone https://github.com/yghugardare/Elearning.git

Installation

Install the project dependencies using npm: At client side

cd client
npm i

At server side -

cd server
npm i

Set Up Environment Variables

Create a new file named .env in the root of your client and server folder and add the content from env.sample file

Running the Project At client side

cd client
npm run dev

At server side -

cd server
npm run dev

Client will run at - http://localhost:3000

Server will run ar - http://localhost:8000