Welcome to Dibantuin App, a customized Internal Developer Portal (IDP) built on Backstage. This platform integrates AI-driven project management with developer gamification to enhance productivity and engagement.
An intelligent project management module powered by LangGraph.
- Automated SRS & Estimations: Parses requirements and estimates task difficulty automatically.
- Smart Scheduling: Uses AI agents to organize sprints and sync with Google Calendar.
- Tools: Integrated with Database Querying and Calendar APIs.
A gamification layer designed to reward development velocity and quality.
- XP System: Calculates Experience Points based on task difficulty and completion speed.
- Avatar & Inventory: Developers can customize avatars and equip items/skins.
- Leaderboards: Visualizes team progress and individual achievements.
The project follows a monorepo structure utilizing standard Backstage packages along with custom plugins.
Dibantuin-app/
├── packages/
│ ├── app/ # Main Frontend shell (UI Container)
│ └── backend/ # Main Backend shell (Server Container)
│
├── plugins/ # Custom Functionality
│ │
│ │ # === 🧠 PLUGIN 1: PROJECT MANAGEMENT ===
│ │
│ ├── project-planner/ # [Frontend] UI for SRS & Sprint Board
│ │ ├── src/
│ │ │ ├── api/ # Backend communication client
│ │ │ ├── components/
│ │ │ │ ├── SrsInputForm/ # Inputs: Metadata, Tech Stack, Team
│ │ │ │ ├── SprintBoard/ # AI-generated sprint visualization
│ │ │ │ └── CalendarView/ # Synchronized schedule view
│ │ │ └── plugin.ts
│ │
│ ├── project-planner-backend/ # [Backend] AI Logic, LangGraph, & DB
│ │ ├── src/
│ │ │ ├── agents/ # AI Core (LangGraph Architecture)
│ │ │ │ ├── graph.ts # Main StateGraph Flow
│ │ │ │ ├── nodes/ # AI Logic Nodes
│ │ │ │ │ ├── requirementParser.ts # Parses SRS docs
│ │ │ │ │ ├── taskEstimator.ts # Estimates difficulty
│ │ │ │ │ └── scheduler.ts # Arranges timeline
│ │ │ │ └── tools/ # External Tools
│ │ │ │ ├── googleCalendar.ts
│ │ │ │ └── dbQuery.ts # Workload checker
│ │ │ ├── database/ # Database Layer (Postgres/Knex)
│ │ │ │ ├── migrations/
│ │ │ │ └── models.ts # Schema: Sprints, Tickets, SRS_Docs
│ │ │ ├── service/
│ │ │ │ ├── gitOps.ts # Phase 1: Git-Triggered Documentation
│ │ │ │ └── router.ts # Express Router
│ │
│ │ # === 🎮 PLUGIN 2: GAMIFICATION ===
│ │
│ ├── dev-rpg/ # [Frontend] Avatar & Leaderboard UI
│ │ ├── src/
│ │ │ ├── components/
│ │ │ │ ├── CharacterCard/ # Avatar & Level Display
│ │ │ │ ├── Inventory/ # Skin/Armor Selection
│ │ │ │ └── XpToast/ # XP Gain Notifications
│ │ │ └── plugin.ts
│ │
│ └── dev-rpg-backend/ # [Backend] XP Logic & Inventory System
│ ├── src/
│ │ ├── service/
│ │ │ ├── xpCalculator.ts # Logic: (Difficulty x Speed) = XP
│ │ │ └── router.ts
│ │ └── database/
│ │ └── models.ts # Schema: Users_RPG, Inventory, Skins```