SkillAcademy :- Unlocking Potential, Unleashing Success
Introducing my application SkillAcademy a Learning Management System (LMS) project – a complete solution built from scratch. Features include easy authentication (including Google login), user and course management, lecture management, admin dashboard, and a secure payment gateway.
Experience the project presentation in action! Click here to watch Now.
- Standard authentication
- Authentication with Google (Continue with Google)
- and Forgot Password Reset Password via email
- The user has a personal profile section where they can view, edit, and manage their details
- Only the admin can create, update, and delete courses, while only enrolled users can consume the courses.
- Only the admin can add lectures to a course, update lectures, and delete lectures. Enrolled users are only permitted to consume the content.
- Access detailed information about user activity, course performance, and financial transactions on one dashboard
- Integration with a secure payment gateway for course enrollment
- React :- for building the website.
- Tailwind-CSS & DaisyUi :- for Styling the website look good.
- React-Router :- for navigating between different pages on the website.
- Redux-toolkit :- for manage website's data and state
- React-icons :- for adds icons to the website for visual appeal.
- React-hot-toast :- for shows pop-up messages on the website.
- React-chartjs-2 & Chart.js :- for integrate charts on the admin dashboard, providing a visual representation of data.
- Firebase :- for users log in securely with Continue with Google.
- Node.js & Express.js :- for the core of the backend development.
- MongoDB & Mongoose :- database management for storing user data.
- JWT & Bcrypt :- for Ensuring secure user authentication.
- Multer & Cloudinary: for Handling file uploads and storage.
- nodeMailer :- for send emails.
- Cookie-parser , cors , crypto and Many More.
Configure your application using the following environment variables:
VITE_BASE_URL = set your backend Server url
- VITE_FIREBASE_API_KEY = firebase api key.
- VITE_AUTH_DOMAIN= firebase auth domain.
- VITE_PROJECT_ID = firebase project id.
- VITE_STORAGE_BUCKET = firebase storage bucket.
- VITE_MESSAGING_SENDER_ID = firebase messaging sender id.
- VITE_APP_ID = firebase app id.
- FRONTEND_URL = set your frontend url.
- PORT = port number.
- MONGO_URI = MongoDB connection URI.
- JWT_SECRET = Set to a secure string for generating json web tokens.
- JWT_EXPIRY = token expiry.
- CONTACT_US_EMAIL = set your cantact email.
- CLOUDINARY_CLOUD_NAME = Set to your Cloudinary cloud name.
- CLOUDINARY_API_KEY = Set to your Cloudinary API key.
- CLOUDINARY_API_SECRET = Set to your Cloudinary API secret.
- SMTP_SERVICE_NAME = set your SMTP service name.
- SMTP_HOST = set your SMTP host name.
- SMTP_PORT = set your SMTP port number.
- SMTP_USERNAME = set your SMTP username.
- SMTP_PASSWORD = set your SMTP Password.
- SMTP_FROM_EMAIL = set your SMTP FROM email address.
In this project i used Razorpay payment Gateway
- RAZORPAY_KEY_ID = set your payment gateway key.
- RAZORPAY_SECRET = payment gateway seceret.
- RAZORPAY_PLAN_ID = payment gateway plan id.
- Clone the repository
- change directory to LMS server folder
- Install dependencies using npm install
- Set up environment variables .env
- Run the application using npm run start
- change directory to frontend LMS folder
- Install dependencies using npm install
- Set up environment variables .env
- Run the application using npm run dev
- Access the application through the provided URL
- Use the provided authentication methods to log in
- Explore available courses and enroll, All the courses accessable by purchasing subscription and the subscription valid for one year.
- Instructors can create and manage courses, mange lectures and all action perform via the admin dashboard.
Made by 😎❤️ Vi369 click and visit.