{"id":24500036,"url":"https://github.com/premshinde-2013/learning-management-system","last_synced_at":"2026-04-10T00:04:12.060Z","repository":{"id":229298221,"uuid":"713928106","full_name":"PremShinde-2013/Learning-Management-System","owner":"PremShinde-2013","description":"Explore our robust LMS platform built with TypeScript, Node.js, Express.js, MongoDB, Redis, Next.js 13, RTK Query, and Socket.IO. Seamlessly manage learning activities with powerful features. Empower your educational endeavors with our full-stack solution for efficient, interactive learning experiences.","archived":false,"fork":false,"pushed_at":"2024-12-14T17:51:46.000Z","size":4589,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-20T21:05:48.120Z","etag":null,"topics":["expressjs","material-ui","mongodb","nextjs","nextui","nodejs","redis","render-deployment","rtk-query","soket-io","taiwindcss","typescript","upstash-redis","vercel-deployment"],"latest_commit_sha":null,"homepage":"https://learnifypro-lms.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PremShinde-2013.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-03T14:34:26.000Z","updated_at":"2025-03-05T01:53:32.000Z","dependencies_parsed_at":"2024-12-03T18:38:00.454Z","dependency_job_id":null,"html_url":"https://github.com/PremShinde-2013/Learning-Management-System","commit_stats":null,"previous_names":["premshinde-2013/learning-management-system"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PremShinde-2013/Learning-Management-System","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PremShinde-2013%2FLearning-Management-System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PremShinde-2013%2FLearning-Management-System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PremShinde-2013%2FLearning-Management-System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PremShinde-2013%2FLearning-Management-System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PremShinde-2013","download_url":"https://codeload.github.com/PremShinde-2013/Learning-Management-System/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PremShinde-2013%2FLearning-Management-System/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28131097,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-30T02:00:05.476Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["expressjs","material-ui","mongodb","nextjs","nextui","nodejs","redis","render-deployment","rtk-query","soket-io","taiwindcss","typescript","upstash-redis","vercel-deployment"],"created_at":"2025-01-21T22:16:50.187Z","updated_at":"2025-12-30T19:03:52.162Z","avatar_url":"https://github.com/PremShinde-2013.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# LearnifyPro 🚀\n\nWelcome to **LearnifyPro** - the ultimate Learning Management System (LMS) that empowers educators, students, and administrators to create, manage, and excel in the world of learning!\n\nThis project is built with modern technologies like **React**, **Node.js**, **MongoDB**, and **TypeScript** to deliver a robust and user-friendly LMS.\n\n---\n\n## 🚀 **Key Features**\n- **Efficient Backend:** Powered by **Node.js** and **Express.js** for fast and scalable server-side operations.\n- **Real-time Communication:** Seamless, live updates with **Socket.IO**.\n- **Data Management:** Reliable storage with **MongoDB**.\n- **Performance Boost:** Optimized with **Redis** caching mechanism for faster data retrieval.\n- **Client-side Rendering:** Smooth, fast user experiences using **Next.js**.\n- **Stylish UI:** Aesthetic and responsive UI enhanced by **Material-UI**, **Next UI**, and **Tailwind CSS**.\n- **Effortless Deployment:** Frontend deployed on **Vercel** and backend on **Render** for easy management.\n- Admin panel for course and user management.\n- Payment integration with **Stripe**.\n- Authentication and security using **Clerk** and JWT.\n\n---\n\n## 🛠️ **Tech Stack**\n\n| **Category**        | **Technology**                |\n|---------------------|--------------------------------|\n| Frontend            | **Next.js**, **Tailwind CSS**, **Material-UI**, **Next UI** |\n| Backend             | **Node.js**, **Express.js**    |\n| Database            | **MongoDB**, **Redis**         |\n| Real-time Features  | **Socket.IO**                  |\n| Authentication      | **Clerk**, **JWT**             |\n| Payment Gateway     | **Stripe**                     |\n| Deployment          | **Vercel** (Frontend), **Render** (Backend) |\n| UI Components       | **Shadcn-UI**, **Framer Motion** |\n\n---\n\n## 🎯 **Project Setup**\n\nFollow these steps to clone, install, and run LearnifyPro locally.\n\n### 1️⃣ **Clone the Repository**\n\nOpen your terminal and run the following command:\n\n```bash\n# Clone the repository\ngit clone https://github.com/PremShinde-2013/Learning-Management-System.git\n\n# Move into the project directory\ncd Learning-Management-System\n```\n\n---\n\n### 2️⃣ **Set Up the Server**\n\n1. Navigate to the **server** folder:\n   ```bash\n   cd server\n   ```\n2. Install the dependencies:\n   ```bash\n   pnpm install\n   ```\n3. Create a `.env` file in the **server** directory with the following details:\n\n```dotenv\nPORT = 8000\nORIGIN = ['http://localhost:3000']\nNODE_ENV = development\n\nDB_URL = 'mongodb+srv://\u003cyour-mongodb-username\u003e:\u003cyour-mongodb-password\u003e@lms.iukma3o.mongodb.net/LMS'\n\nCLOUD_NAME = \u003cyour-cloudinary-cloud-name\u003e\nCLOUD_API_KEY = \u003cyour-cloudinary-api-key\u003e\nCLOUD_SECRET_KEY = \u003cyour-cloudinary-secret-key\u003e\n\nREDIS_URL = rediss://\u003cyour-redis-url\u003e\n\nACTIVATION_SECRET = \u003cyour-activation-secret\u003e\n\nACCESS_TOKEN = \u003cyour-access-token\u003e\nREFRESH_TOKEN = \u003cyour-refresh-token\u003e\n\nACCESS_TOKEN_EXPIRE = 5\nREFRESH_TOKEN_EXPIRE = 3\n\nSMTP_HOST= smtp.gmail.com\nSMTP_SERVICE=gmail\nSMTP_PORT=465\nSMTP_MAIL=\u003cyour-email\u003e\nSMTP_PASSWORD=\u003cyour-email-app-password\u003e\n\nVDOCIPHER_API_SECRET = \u003cyour-vdocipher-api-secret\u003e\n\nSTRIPE_PUBLISHABLE_KEY = \u003cyour-stripe-publishable-key\u003e\nSTRIPE_SECRET_KEY = \u003cyour-stripe-secret-key\u003e\n```\n\n4. Run the server:\n   ```bash\n   pnpm run dev\n   ```\n   The server should now be running at `http://localhost:8000`.\n\n---\n\n### 3️⃣ **Set Up the Client**\n\n1. Open a new terminal and navigate to the **client** folder:\n   ```bash\n   cd client\n   ```\n2. Install the dependencies:\n   ```bash\n   pnpm install\n   ```\n3. Create a `.env` file in the **client** directory with the following details:\n\n```dotenv\nNEXT_PUBLIC_SERVER_URI = \"http://localhost:8000/api/v1\"\nNEXT_PUBLIC_SOCKET_SERVER_URI = \"http://localhost:8000/\"\n\nGOOGLE_CLIENT_ID = \u003cyour-google-client-id\u003e\nGOOGLE_CLIENT_SECRET = \u003cyour-google-client-secret\u003e\n\nGITHUB_CLIENT_ID = \u003cyour-github-client-id\u003e\nGITHUB_CLIENT_SECRET = \u003cyour-github-client-secret\u003e\n\nSECRET = \u003cyour-secret-key\u003e\n\n# Stripe Backup and Passkey (Optional)\n# STRIPE_BACKUP = \u003cyour-stripe-backup-key\u003e\n# STRIPE_PASSKEY = \u003cyour-stripe-passkey\u003e\n```\n\n4. Run the client:\n   ```bash\n   pnpm run dev\n   ```\n   The client should now be running at `http://localhost:3000`.\n\n---\n\n### 4️⃣ **Access the Application**\n\n- **Client**: `http://localhost:3000`\n- **API**: `http://localhost:8000/api/v1`\n\n---\n\n## 🌟 **Folder Structure**\n\nHere's an overview of the project structure:\n\n```plaintext\nlearnifypro/\n│\n├── client/           # Frontend code (Next.js)\n│   ├── src/\n│   ├── public/\n│   ├── .env.example\n│   └── ...\n│\n├── server/           # Backend code (Node.js + Express)\n│   ├── src/\n│   ├── .env.example\n│   └── ...\n│\n├── README.md         # Documentation\n└── ...\n```\n\n---\n\n## 🧩 **Integrations**\nLearnifyPro integrates seamlessly with popular services:\n\n- **Stripe**: Payment gateway for subscriptions.\n- **Clerk**: Authentication and user management.\n- **Socket.IO**: Real-time chat and notifications.\n- **MongoDB**: NoSQL database for data management.\n- **Cloudinary**: Media storage and optimization.\n\n---\n\n## 🤝 **Contributing**\n\nWe welcome contributions to LearnifyPro! 🎉\n\nTo get started:\n1. Fork the repository.\n2. Create a new branch:\n   ```bash\n   git checkout -b feature/your-feature-name\n   ```\n3. Make your changes and commit them:\n   ```bash\n   git commit -m \"Add your meaningful commit message\"\n   ```\n4. Push to your fork and submit a Pull Request.\n\n---\n\n## 📧 **Contact**\n\nIf you have questions, feel free to reach out:\n\n- **Name**: Prem Shinde  \n- **Email**: [shindeprem102@gmail.com](mailto:shindeprem102@gmail.com)\n- **GitHub**: [PremShinde-2013](https://github.com/PremShinde-2013)\n- **Portfolio**: [premshindedev.vercel.app](https://premshindedev.vercel.app/)\n\n---\n\n\n**Happy Coding! 🎉🚀**\n\n---\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpremshinde-2013%2Flearning-management-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpremshinde-2013%2Flearning-management-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpremshinde-2013%2Flearning-management-system/lists"}