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/
- Real-time student course purchase analytics on the admin dashboard.
- Upload video of the course and generate its transcript.
- Use the transcript of the video to train and fine tune the AI model.
- Student QNA , course purchase and review instant notification on Admin Dashboard.
With video transcript - without transcript in light mode[just to show ui🌞] -
Video to Transcript , Transcript sent to model
Order,Course and User Analytics [used Re-charts]-
- 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.
- 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.
- 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.
- 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.
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