{"id":22361367,"url":"https://github.com/kei-k23/mentor","last_synced_at":"2025-07-30T13:32:20.602Z","repository":{"id":238282203,"uuid":"796243619","full_name":"Kei-K23/mentor","owner":"Kei-K23","description":"Mentor is an open-source web application for learning, practicing and mastering programming languages and craft interview questions. The goal of this project is to improve the developer community.","archived":false,"fork":false,"pushed_at":"2024-06-20T14:25:36.000Z","size":1213,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-06-21T07:34:26.481Z","etag":null,"topics":["clerk","neon","nextjs","postgresql","prisma","shadcn-ui"],"latest_commit_sha":null,"homepage":"https://mentor-beta.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Kei-K23.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-05-05T11:30:22.000Z","updated_at":"2024-06-20T14:20:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"30ebebac-a609-4ce6-9259-bb3ef71dbd66","html_url":"https://github.com/Kei-K23/mentor","commit_stats":null,"previous_names":["kei-k23/mentor"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kei-K23%2Fmentor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kei-K23%2Fmentor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kei-K23%2Fmentor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kei-K23%2Fmentor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kei-K23","download_url":"https://codeload.github.com/Kei-K23/mentor/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228147209,"owners_count":17876629,"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":["clerk","neon","nextjs","postgresql","prisma","shadcn-ui"],"created_at":"2024-12-04T16:29:26.573Z","updated_at":"2024-12-04T16:29:27.377Z","avatar_url":"https://github.com/Kei-K23.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mentor\n\n## Overview\n\nMentor is an open-source web application for learning, practicing and mastering programming languages and craft interview questions. The goal of this project is to improve the developer community.\n\n## Features\n\nKey Features:\n\n- Next server actions\n- Auth using Clerk\n- Dark mode support\n- Sound effects\n- Hearts system\n- Points / XP system\n- Exit confirmation popup\n- Practice old lessons to regain hearts\n- Leaderboard\n- Quests milestones and gain rewards\n- Shop system to exchange points with hearts\n- Landing page\n- Real-time comments section with Firebase\n- Informative user profile\n- Mobile responsiveness\n\n## Tech Stack\n\n- Next.js 14\n- Postgresql (Neon cloud)\n- Firebase\n- Prisma\n- Clerk (Auth)\n- TypeScript\n- Tailwind / ShadcnUI\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js and npm installed on your machine.\n- Postgresql database for storing application data.\n- Firebase account.\n\n### Installation\n\n1. Setup Clerk web hooks for user create, update and delete.\n2. Install dependencies: `npm install`\n3. Build database schema: `npm run db:push`\n4. Generate prisma schema types: `npx prisma generate`\n5. Run seeding script: `npm run db:seed`\n6. Start the application locally: `npm run dev`\n\n### Configuration\n\nMake sure to set the following environment variables:\n\n- NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=\u003cNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY\u003e\n- CLERK_SECRET_KEY=\u003cCLERK_SECRET_KEY\u003e\n- NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in\n- NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up\n- NEXT_PUBLIC_CLERK_SIGN_UP_FORCE_REDIRECT_URL=/learn\n- NEXT_PUBLIC_CLERK_SIGN_IN_FORCE_REDIRECT_URL=/learn\n- NEXT_PUBLIC_CLERK_WEBHOOK_SECRET_KEY=\u003cNEXT_PUBLIC_CLERK_WEBHOOK_SECRET_KEY\u003e\n- DATABASE_URL=\u003cDATABASE_URL\u003e\n- NEXT_PUBLIC_FIREBASE_API_KEY=\u003cNEXT_PUBLIC_FIREBASE_API_KEY\u003e\n- NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=\u003cNEXT_PUBLIC_FIREBASE_AUTH_DOMAIN\u003e\n- NEXT_PUBLIC_FIREBASE_PROJECT_ID=\u003cNEXT_PUBLIC_FIREBASE_PROJECT_ID\u003e\n- NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=\u003cNEXT_PUBLIC_FIREBASE_STORAGE_BUCKET\u003e\n- NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=\u003cNEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID\u003e\n- NEXT_PUBLIC_FIREBASE_APP_ID=\u003cNEXT_PUBLIC_FIREBASE_APP_ID\u003e\n- NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=\u003cNEXT_PUBLIC_FIREBASE_MEASUREMENT_ID\u003e\n\n## Contributing\n\nWe welcome contributions from the community! If you find a bug or have an idea for an improvement, please open an issue or submit a pull request. [CONTRIBUTION-GUIDE.md](CONTRIBUTION-GUIDE.md)\n\n## TODO\n\nThis is the todo list to complete for version 1.\n\n- [ ] Add errors management\n- [ ] Add skeleton and waiting loading animation or style when fetching data\n- [ ] Update UI design\n- [x] Add features private profile and profile view count\n- [ ] Apply pagination and limiting fetching for comments from Firebase\n- [ ] Add blogs system\n- [ ] Add point gift system to send points from one account to another\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkei-k23%2Fmentor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkei-k23%2Fmentor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkei-k23%2Fmentor/lists"}