Skip to content

Latest commit

 

History

History
178 lines (123 loc) · 8.57 KB

README.md

File metadata and controls

178 lines (123 loc) · 8.57 KB

Enlighto

Enlighto is a full-stack ed-tech platform built with the MERN stack (MongoDB, Express.js, React.js, Node.js). It provides students with an engaging learning experience through course creation, consumption, and ratings. Instructors can easily manage their courses, while secure authentication and payment integration enhance the platform's usability. The project includes RESTful APIs, media management via Cloudinary, and future enhancements like mobile apps and gamification.

image

See More Screenshots


Table of Contents


Project Overview

Enlighto is a comprehensive ed-tech platform built with the MERN stack (MongoDB, Express.js, React.js, Node.js) that enables students and instructors to engage with educational content seamlessly. The platform provides:

  • Course creation, consumption, and rating
  • Secure authentication and payment integration
  • Cloud-based media management using Cloudinary
  • RESTful APIs for front-end and back-end communication

System Architecture

Enlighto follows a client-server architecture with three main components: Front-end, Back-end, and Database.

Architecture Diagram

Here is a high-level diagram that illustrates the architecture of the Enlighto ed-tech platform: WhatsApp Image 2024-10-18 at 01 38 27_de6d572d


Front-end

The front-end is developed using React.js, allowing for dynamic, responsive, and interactive interfaces. It interacts with the back-end using RESTful APIs and displays course content, user dashboards, and more.

Back-end

The back-end is built using Node.js and Express.js to handle server-side logic, APIs, and authentication. The platform also integrates MongoDB for scalable, flexible data storage.

Database

Enlighto uses MongoDB, a NoSQL database, to store user data, course content, ratings, and other relevant information. It allows the platform to scale as the user base grows.


Front-end

The front-end of Enlighto is developed using React.js for the user interface, styled using CSS and Tailwind. Key features include:

  • Course List: Displays available courses with descriptions and ratings.
  • Wishlist: Students can save their favorite courses.
  • Cart Checkout: Allows students to complete course purchases.
  • Course Content: Displays videos, PDFs, and other course materials.
  • Instructor Dashboard: Instructors can manage their courses, track insights, and view feedback.

Tools and Libraries Used:

  • React.js for building UI components
  • Redux for state management
  • Tailwind CSS for responsive design

Back-end

Enlighto's back-end is built using Node.js, Express.js, and MongoDB. Features include:

  • User authentication: Secure sign-up, login, and password recovery.
  • Course management: Instructors can create, read, update, and delete courses.
  • Payment integration: Integration with Razorpay for processing course payments.
  • Cloud-based media management: Cloudinary is used to manage images, videos, and other media content.

Tools and Libraries Used:

  • Node.js for server-side JavaScript runtime
  • Express.js for building RESTful APIs
  • MongoDB for flexible and scalable data storage
  • JWT for secure user authentication
  • Bcrypt for password hashing

API Design

Enlighto uses a RESTful API design for communication between the front-end and back-end. The API is built using Node.js and Express.js and follows standard HTTP methods like GET, POST, PUT, and DELETE.

Sample Endpoints:

  • /api/v1/auth/signup (POST) – Register a new user.
  • /api/v1/auth/login (POST) – Log in and get a JWT token.
  • /api/v1/courses (GET) – Get a list of all courses.
  • /api/v1/courses/:id (POST) – Create a new course.
  • /api/v1/courses/:id/rate (POST) – Add a rating to a course.

Deployment

Enlighto is deployed using various cloud services:

  • Front-end: Deployed using Vercel.
  • Back-end: Deployed using Render or Railway.
  • Database: Hosted on MongoDB Atlas.
  • Media: Managed using Cloudinary.

This deployment setup ensures scalability, security, and high availability for global access.


Future Enhancements

There are several features planned to enhance the platform:

  • Gamification: Introduce badges, points, and leaderboards to increase user engagement.
  • Personalized learning paths: Tailor content for each student based on their learning style.
  • Mobile app: Develop a mobile app for easier access to course content.
  • Machine Learning recommendations: Implement personalized course recommendations.
  • Virtual/Augmented Reality: Enhance course material with VR/AR for an immersive experience.

Conclusion

Enlighto is a powerful and scalable ed-tech platform built with the MERN stack. It provides a seamless learning experience for students and a comprehensive course management system for instructors. With plans for future enhancements, the platform is poised to offer even more features and value to its users.


Technologies Used

  • MongoDB – NoSQL database
  • Express.js – Web framework for Node.js
  • React.js – JavaScript library for building user interfaces
  • Node.js – JavaScript runtime for building scalable applications
  • Cloudinary – Cloud-based media management
  • Razorpay – Payment gateway integration

Screenshots

image image image Screenshot 2024-10-22 210107 Screenshot 2024-10-22 210636 Screenshot 2024-10-22 210721 Screenshot 2024-10-22 210817 Screenshot 2024-10-22 210737 Screenshot 2024-10-22 210905 Screenshot 2024-10-23 004217 Screenshot (2374) Screenshot 2024-10-22 212125 Screenshot 2024-10-22 210202 Screenshot 2024-10-22 210257 Screenshot 2024-10-22 210343 Screenshot 2024-10-23 003419 Screenshot 2024-10-23 003624 Screenshot 2024-10-22 210357 Screenshot 2024-10-23 004927 Screenshot 2024-10-22 210950 Screenshot 2024-10-22 211002 Screenshot 2024-10-22 211105 image image image