Gamify
Gamify is an open-source gamification platform designed to help communities, teams, and individuals create their own achievement-based ecosystems.
Install / Use
/learn @GollaBharath/GamifyREADME
🕹️ GAMIFY — Turn Any Goal into a Game
</div> <div align="center">
🎯 An open-source platform to gamify productivity, collaboration, and community engagement.
</div>💡Concept Note
Click here to learn more about the project.
📊 Project Statistics
<div align="center"> <table> <tr> <td align="center"> <img src="https://img.shields.io/github/stars/gollabharath/gamify?style=social" alt="GitHub Stars"> <br><b>Stars</b> </td> <td align="center"> <img src="https://img.shields.io/github/forks/gollabharath/gamify?style=social" alt="GitHub Forks"> <br><b>Forks</b> </td> <td align="center"> <img src="https://img.shields.io/github/issues/gollabharath/gamify" alt="GitHub Issues"> <br><b>Open Issues</b> </td> <td align="center"> <img src="https://img.shields.io/github/issues-closed/gollabharath/gamify" alt="Closed Issues"> <br><b>Closed Issues</b> </td> <td align="center"> <img src="https://img.shields.io/github/issues-pr/gollabharath/gamify" alt="Open PRs"> <br><b>Open PRs</b> </td> <td align="center"> <img src="https://img.shields.io/github/issues-pr-closed/gollabharath/gamify" alt="Closed PRs"> <br><b>Closed PRs</b> </td> <td align="center"> <img src="https://img.shields.io/github/contributors/gollabharath/gamify" alt="GitHub Contributors"> <br><b>Contributors</b> </td> <td align="center"> <img src="https://img.shields.io/github/commit-activity/m/gollabharath/gamify" alt="Commits per Month"> <br><b>Commits</b> </td> <td align="center"> <img src="https://img.shields.io/github/repo-size/gollabharath/gamify" alt="Repo Size"> <br><b>Project Size</b> </td> </tr> </table> </div><details> <summary><strong>📑 Table of Contents</strong></summary>
- 💡 Why Choose Gamify?
- 🚀 Core Features
- 🧱 Tech Stack & Architecture
- ⚙ Folder Structures
- ⚡ Quick Start / Installation
- 🤝 Contributing
- 🎖️ Contributors
- 📄 License
💡 Why Choose Gamify?
- 🆓 Free & Open-Source — MIT licensed and community-driven
- 🛠️ Fully Self-Hostable — Complete control over your data and deployment
- 🌍 Multi-Platform — Web dashboard and Discord integration
- 🧱 Modular Architecture — Easy to customize and extend
- 🎮 Gamify Anything — From study groups to corporate teams
- 🧑🤝🧑 Built for Teams & Communities — Role-based collaboration baked in
🚀 Core Features
- 🎯 Event Creation — Define your own events, tasks, and currency system
- 👥 Role-Based Permissions — Owners, Admins, Moderators, Members
- ✅ Task Management — Admins create tasks, moderators verify them
- 🎁 Reward Store — Members redeem points for real or virtual rewards
- 🖥️ Web Dashboard — Full-featured dashboard for managing events
- 🤖 Discord Bot — Seamless interaction with Discord for members
<div align="center"> <svg xmlns="http://www.w3.org/2000/svg" width="550" height="80"> <rect width="550" height="80" rx="20" fill="#0000"/> <text x="50%" y="50%" fill="#fff" font-size="24" font-family="Comic Sans MS, sans-serif" font-weight="bold" dominant-baseline="middle" text-anchor="middle"> 🎉 Project Events & Highlights </text> </svg> <image src="https://github.com/user-attachments/assets/2697ede8-aa67-4b57-b913-edf6de969249"> <br>
<a href="https://gssoc.girlscript.tech/"><img src="https://github.com/user-attachments/assets/06b414f8-fcc4-440a-9ab1-277673df14a7" alt="Events Heading" style="border-radius:20px;"/></a> <a href="https://www.osconnect.org/"><img src="https://github.com/user-attachments/assets/a6eb171a-6815-4375-a8e7-b606fab14de6" alt="Events Heading" style="border-radius:20px;"/></a>
</div>🧱 Tech Stack & Architecture
<div align="center"> <table> <tr> <th>Directory</th> <th>Description</th> <th>Technology</th> </tr> <tr> <td><code>client/</code></td> <td>Frontend UI built with React</td> <td>React, Tailwind CSS</td> </tr> <tr> <td><code>server/</code></td> <td>RESTful API backend</td> <td>Node.js, Express</td> </tr> <tr> <td><code>bot/</code></td> <td>Discord companion bot</td> <td>Discord.js</td> </tr> <tr> <td><code>Database</code></td> <td>Stores events, users, tasks, and rewards</td> <td>MongoDB</td> </tr> </table> </div>⚙ Folder Structures
Frontend folder structure
client/
├─ public/
│ └─ vite.svg
├─ src/
│ ├─ components/
│ │ ├─ Footer.jsx
│ │ ├─ Home.jsx
│ │ ├─ Navbar.jsx
│ │ └─ ScrollToTop.jsx
│ ├─ Context/
│ │ └─ AuthContext.jsx
│ ├─ pages/
│ │ ├─ About.jsx
│ │ ├─ AuthForms.jsx
│ │ ├─ Contact.jsx
│ │ ├─ Dashboard.jsx
│ │ └─ Profile.jsx
│ ├─ routes/
│ │ └─ ProtectedRoute.jsx
│ ├─ App.jsx
│ ├─ index.css
│ └─ main.jsx
└─ Additional Documentation
Backend folder structure
server/
├─ config/
│ └─ db.js
├─ controllers/
│ ├─ authController.js
│ └─ userController.js
├─ middlewares/
│ └─ authMiddleware.js
├─ models/
│ └─ User.js
├─ routes/
│ ├─ authRoutes.js
│ └─ userRoutes.js
└─ Additional Documentation
⚡ Quick Start / Installation
Prerequisites
- Node.js (v16+)
- MongoDB (Atlas or local)
- A Discord Bot Token (Get one here)
1. Clone the Repository
git clone https://github.com/gollabharath/gamify.git
cd gamify
2. Install Dependencies
cd client && npm install
cd ../server && npm install
cd ../bot && npm install
3. Setup Environment Variables
Create .env files in client/, server/, and bot/ directories.
Example: server/.env
PORT=5000
MONGO_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
FRONTEND_URL=your_frontend_url
EMAIL_USERNAME=your_email
EMAIL_PASSWORD=your_password
# Rate limiting for authentication endpoints
AUTH_LOGIN_MAX=10
AUTH_LOGIN_WINDOW_MS=900000
AUTH_REGISTER_MAX=5
AUTH_REGISTER_WINDOW_MS=3600000
Rate Limiting Configuration
The server includes rate limiting for authentication endpoints to prevent abuse:
- Login Protection:
AUTH_LOGIN_MAXattempts perAUTH_LOGIN_WINDOW_MSmilliseconds (default: 10 per 15 minutes) - Registration Protection:
AUTH_REGISTER_MAXattempts perAUTH_REGISTER_WINDOW_MSmilliseconds (default: 5 per hour)
When limits are exceeded, endpoints return:
{
"success": false,
"message": "Too many login attempts. Try again later."
}
Example: bot/.env
DISCORD_TOKEN=your_discord_bot_token
GUILD_ID=your_guild_id
API_URL=http://localhost:5000
4. Run the App
In separate terminals:
# Terminal 1 (For Backend)
cd server && npm run dev
# Terminal 2 (For Frontend)
cd client && npm run dev
# Terminal 3 (For Bot)
cd bot && node index.js
🤝 Contributing
We love contributions from the community! To contribute:
- Fork the repository
- Create a new branch (
git checkout -b feature/your-feature) - Commit your changes (
git commit -m 'Add some feature') - Push to the branch (
git push origin feature/your-feature) - Open a Pull Request
For major changes, please open an issue first to discuss what you’d like to change.
🎖️ Contributors
We are grateful to all the amazing contributors who have helped make this project better! 🌟
<div align="center">👨💻 Meet Our Contributors
</div>📄 License
This project is licensed under the MIT License.
<div align="center"> </div>Related Skills
clearshot
Structured screenshot analysis for UI implementation and critique. Analyzes every UI screenshot with a 5×5 spatial grid, full element inventory, and design system extraction — facts and taste together, every time. Escalates to full implementation blueprint when building. Trigger on any digital interface image file (png, jpg, gif, webp — websites, apps, dashboards, mockups, wireframes) or commands like 'analyse this screenshot,' 'rebuild this,' 'match this design,' 'clone this.' Skip for non-UI images (photos, memes, charts) unless the user explicitly wants to build a UI from them. Does NOT trigger on HTML source code, CSS, SVGs, or any code pasted as text.
openpencil
2.0kThe world's first open-source AI-native vector design tool and the first to feature concurrent Agent Teams. Design-as-Code. Turn prompts into UI directly on the live canvas. A modern alternative to Pencil.
HappyColorBlend
HappyColorBlendVibe Project Guidelines Project Overview HappyColorBlendVibe is a Figma plugin for color palette generation with advanced tint/shade blending capabilities. It allows designers to
Flyaro-waffle-app
Waffle Delight - Full Stack MERN Application Rules & Documentation Project Overview A comprehensive waffle delivery application built with MERN stack featuring premium UI/UX, admin management, a
