Mongo Buddy
Mongo Buddy is a gamified learning platform for MongoDB. Level up through checkpoints, quizzes, and hands‑on tasks instead of dry docs. Earn points, unlock stages, and learn by doing CRUD, query operators, indexes, and aggregation pipelines.
Live Demo
Try Mongo Buddy Live: https://mongobuddy.onrender.com
Features
-
Checkpoints: Unlock stages as concepts are completed.
-
Quizzes: Interactive questions to test understanding.
-
Tasks: Real‑world MongoDB queries and operations.
-
Gamified Progression: Points, milestones, leveling.
-
Learn by Doing: CRUD, operators, indexes, aggregation.
-
Learning Path Basics: Intro to MongoDB and CRUD operations.
-
Query Operators: Comparison, logical, array, element.
-
Indexes & Performance: Speed up queries with the right indexes.
-
Aggregation: match, group, project, sort, lookup.
-
Real‑World Challenges: Apply skills to practical scenarios.
Tech Stack -
-
MongoDB for data (local or Atlas).
-
Node.js/Express backend for APIs and tasks.
-
Frontend with a modern JS stack for gamified UI.
Follow these steps to run the project locally.
-
Prerequisites Node.js 18+ and npm
-
MongoDB (local) or MongoDB Atlas connection string
Git -
Check versions:
node -v
npm -v
git --version
Fork and Clone - Fork the repository on GitHub (top-right “Fork” button).
Clone your fork:
git clone https://github.com/<your-username>/MongoBuddy.git
cd MongoBuddy
Add the upstream remote (optional but recommended):
git remote add upstream https://github.com/<upstream-owner>/MongoBuddy.git
git fetch upstream
Environment Variables - Copy the example file and fill in values:
cp .env.example .env
Edit .env with appropriate values:
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
If using Atlas:
-
Create a free cluster.
-
Whitelist current IP.
-
Replace MONGODB_URI with your connection string.
Install Dependencies
npm install
If the repo is a monorepo/workspaces project:
npm run bootstrap
Seed Sample Data (if available)
npm run seed
Run the App Development:
npm run dev
Production:
npm start
Open:
How to Play Start at Checkpoint
-
MongoDB Basics.
-
Complete tasks and quizzes to move forward.
-
Earn points and unlock new stages as progress is made.
Contributing -
-
Contributions are welcome, especially during Hacktoberfest.
-
Quick Contribution Flow
Create a feature branch:
git checkout -b feat/<short-feature-name>
Make changes, then commit:
git add .
git commit -m "feat: add Aggregation Checkpoint 3 with 5 quiz questions"
Push your branch:
git push -u origin feat/<short-feature-name>
Open a Pull Request to the main branch of the upstream repo.
What to Contribute
-
New Checkpoints: topics, objectives, unlock criteria.
-
Quizzes: multiple-choice with correct answers and explanations.
-
Tasks: CRUD and aggregation exercises with solutions/tests.
-
UI/UX: game elements, progress bars, badges, accessibility.
-
Docs: setup steps, troubleshooting, screenshots.