Skip to content

Latest commit

ย 

History

History
78 lines (70 loc) ยท 4.04 KB

File metadata and controls

78 lines (70 loc) ยท 4.04 KB

Dibantuin App (Backstage Developer Portal)

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.

๐Ÿš€ Key Features

1. ๐Ÿง  AI Project Planner (The Brain)

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.

2. ๐ŸŽฎ Dev RPG (The Fun)

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.

๐Ÿ“‚ Project Architecture

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```