{"id":24075502,"url":"https://github.com/premshinde-2013/hackathon","last_synced_at":"2026-04-09T19:52:23.703Z","repository":{"id":268985882,"uuid":"906068068","full_name":"PremShinde-2013/Hackathon","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-20T05:42:34.000Z","size":7,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-09T19:05:12.171Z","etag":null,"topics":["cloudinary","expressjs","mongodb","nextjs14","nextui","nodejs","redis","render","socket-io","tailwindcss","typescipt","upstash-redis","vercel-deployment"],"latest_commit_sha":null,"homepage":"https://learnifypro-lms.vercel.app/","language":null,"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":"2024-12-20T05:13:39.000Z","updated_at":"2024-12-20T05:46:36.000Z","dependencies_parsed_at":"2024-12-20T06:37:08.067Z","dependency_job_id":null,"html_url":"https://github.com/PremShinde-2013/Hackathon","commit_stats":null,"previous_names":["premshinde-2013/hackathon"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PremShinde-2013%2FHackathon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PremShinde-2013%2FHackathon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PremShinde-2013%2FHackathon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PremShinde-2013%2FHackathon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PremShinde-2013","download_url":"https://codeload.github.com/PremShinde-2013/Hackathon/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240947648,"owners_count":19883029,"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","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":["cloudinary","expressjs","mongodb","nextjs14","nextui","nodejs","redis","render","socket-io","tailwindcss","typescipt","upstash-redis","vercel-deployment"],"created_at":"2025-01-09T19:05:58.159Z","updated_at":"2025-12-30T19:17:58.742Z","avatar_url":"https://github.com/PremShinde-2013.png","language":null,"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## 🎥 Watch the Overview Video\nHere’s a quick overview of LearnifyPro:\n\nhttps://github.com/user-attachments/assets/05a94cc5-9360-4615-babf-c1b56bd6589c\n\n\nThis video showcases the core features of LearnifyPro, such as course management, real-time communication, and the sleek user interface.\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 Next UI, and Tailwind CSS.\n- **Effortless Deployment**: Frontend deployed on Vercel and backend on Render for easy management.\n- **Admin Panel**: Manage courses and users with ease.\n- **Payment Integration**: Stripe integration for subscription management.\n- **Authentication \u0026 Security**: Using JWT for secure user management.\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**  |  JWT                                                    |\n| **Payment Gateway** | Stripe                                                  |\n| **Deployment**      | Vercel (Frontend), Render (Backend)                     |\n| **UI Components**   | Shadcn-UI, Framer Motion                                |\n\n## 🎯 Project Setup\nFollow these steps to clone, install, and run LearnifyPro locally.\n\n### 1️⃣ Clone the Repository\nOpen your terminal and run the following command:\n\n```bash\n# Clone the repository\ngit clone https://github.com/PremShinde-2013/Hackathon.git\n\n# Move into the project directory\ncd Hackathon\n```\n\n### 2️⃣ Set Up the Server\nNavigate to the server folder:\n\n```bash\ncd server\n```\n\nInstall the dependencies:\n\n```bash\npnpm install\n```\n\nCreate a `.env` file in the server directory with the following details:\n\n```env\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\nRun the server:\n\n```bash\npnpm run dev\n```\n\nThe server should now be running at `http://localhost:8000`.\n\n### 3️⃣ Set Up the Client\nOpen a new terminal and navigate to the client folder:\n\n```bash\ncd client\n```\n\nInstall the dependencies:\n\n```bash\npnpm install\n```\n\nCreate a `.env` file in the client directory with the following details:\n\n```env\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\nRun the client:\n\n```bash\npnpm run dev\n```\n\nThe client should now be running at `http://localhost:3000`.\n\n### 4️⃣ Access the Application\n- Client: `http://localhost:3000`\n- API: `http://localhost:8000/api/v1`\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## 🧩 Integrations\nLearnifyPro integrates seamlessly with popular services:\n- **Stripe**: Payment gateway for subscriptions.\n- **Socket.IO**: Real-time chat and notifications.\n- **MongoDB**: NoSQL database for data management.\n- **Cloudinary**: Media storage and optimization.\n\n## **🚨 Note on Backend Deployment**\n**The backend is deployed using Render's free tier for hosting**, which results in a delay of **3-5 minutes** for the initial load. This is because the server may go idle when not in use, and it takes some time to \"wake up\" when a request is sent. Please be patient while the server initializes.\n\n## 🤝 Contributing\nWe welcome contributions to LearnifyPro! 🎉\n\nTo get started:\n1. Fork the repository.\n2. Create a new branch:\n\n   ```bash\n   git checkout -b feature/your-feature-name\n   ```\n\n3. Make your changes and commit them:\n\n   ```bash\n   git commit -m \"Add your meaningful commit message\"\n   ```\n\n4. Push to your fork and submit a Pull Request.\n\n## 📧 Contact\nIf you have questions, feel free to reach out:\n\n- **Name**: Prem Shinde\n- **Email**: shindeprem102@gmail.com\n- **GitHub**: [PremShinde-2013](https://github.com/PremShinde-2013)\n- **Portfolio**: [premshindedev.vercel.app](https://premshindedev.vercel.app)\n\nHappy Coding! 🎉🚀\n\n--- \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpremshinde-2013%2Fhackathon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpremshinde-2013%2Fhackathon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpremshinde-2013%2Fhackathon/lists"}