Skip to content

About

Full-stack agentic project planner that ingests PRDs/PDFs, generates 8-stage software architecture execution plans, and enforces strict prerequisite task workflows.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

PlanForge AI - Intelligent Project Manager

A modern, full-stack software project management studio with an integrated NVIDIA AI Agent that automatically analyzes specifications, generates software architecture execution plans, enforces sequential task completion dependencies, and adapts based on user feedback.


Key Features

  1. Clean, Minimal & Modern UI:
    • Designed with an ultra-clean white canvas, subtle borders, single indigo accent (#4f46e5), and Google Fonts Inter.
    • Powered by Lucide Icons.
  2. AI Project Type & Archetype Detection:
    • Automatically classifies project type (Mobile App, Full-Stack Web, AI/ML System, API Backend, DevOps Infrastructure, etc.) from project name and description.
    • Allows inline manual editing at any time.
  3. Split-View Planning Page:
    • LEFT: Markdown/Text execution plan editor with character counters, unsaved state tracking, and View/Edit mode toggling.
    • RIGHT: Interactive NVIDIA AI Agent chat with one-click "Generate Plan", "Ask Questions", and Auto-Sync to Editor.
  4. Sequential Task Execution with Dependency Enforcement:
    • Strictly ordered tasks ($1^{\text{st}}, 2^{\text{nd}}, 3^{\text{rd}}\dots$).
    • Prerequisite validation: Tasks are locked if prior dependencies are incomplete.
    • Reorder tasks with Up / Down buttons, recalculating dependencies and order numbers.
    • Manual task creation and deletion.
  5. PDF Specification Upload:
    • Drag-and-drop PRDs, technical specs, or architecture documents (.pdf).
    • Automatically extracts text using pypdf and merges it into the AI agent prompt context.
  6. AI Persistent Learning & Feedback Loop:
    • Users can rate or provide feedback on AI responses, which are stored in user_feedback to adapt future generations.
  7. In-App Notification Center:
    • Real-time activity alerts (plan synced, task completed, PDF parsed, reminders) with unread count badges and popover history.
  8. Robust Multi-Database Engine:
    • Full MySQL compatibility with schema.sql (configured via phpMyAdmin or local MySQL server).
    • Zero-configuration automatic SQLite fallback (ai_project_manager.db) if MySQL is unavailable.

Directory Structure

ai_project_manager/
├── backend/
│   ├── .env                  # Local environment variables
│   ├── .env.example          # Template environment file
│   ├── requirements.txt      # Python dependencies
│   ├── schema.sql            # MySQL schema for phpMyAdmin
│   ├── database.py           # DB engine with MySQL + SQLite fallback
│   ├── models.py             # SQLAlchemy models (Project, Task, UserFeedback, Notification)
│   ├── schemas.py            # Pydantic request/response schemas
│   ├── ai_agent.py           # NVIDIAAgent with exact prompts & fallback engine
│   ├── main.py               # REST API endpoints & dependency enforcement
│   └── test_api.py           # Automated test suite
├── frontend/
│   ├── index.html            # App entry point with Inter font
│   ├── package.json          # Node dependencies
│   ├── vite.config.ts        # Vite build configuration
│   └── src/
│       ├── types.ts          # Project, Task, AIResponse, Notification, Feedback interfaces
│       ├── api.ts            # Typed HTTP client
│       ├── context/
│       │   └── ProjectContext.tsx # Central reactive state & notifications
│       ├── components/
│       │   ├── Sidebar.tsx        # Project navigation & active status indicator
│       │   ├── Navbar.tsx         # Archetype badge & notification bell
│       │   ├── AIAgent.tsx        # Reusable AI Agent Chat (bubbles, auto-sync, feedback)
│       │   ├── PDFUpload.tsx      # PDF specification uploader
│       │   └── NotificationCenter.tsx # Notification popover drawer
│       ├── pages/
│       │   ├── ProjectCreatePage.tsx  # Name, description, auto type detection
│       │   ├── PlanningPage.tsx       # Split-view architecture editor & chat
│       │   └── TaskAssignmentPage.tsx # Sequential tasks & dependency enforcement
│       ├── index.css         # Minimal styling tokens
│       ├── App.tsx           # Top-level application layout & toast alerts
│       └── main.tsx
└── README.md

Getting Started

1. Backend Setup

  1. Open a terminal in backend/:

    cd backend
  2. Install Python dependencies:

    python -m pip install -r requirements.txt
  3. Configure .env:

    DB_HOST=localhost
    DB_PORT=3306
    DB_NAME=ai_project_manager
    DB_USER=root
    DB_PASSWORD=
    NVIDIA_API_KEY=your_nvidia_api_key_here

    (Note: If MySQL is not running, the backend will automatically use a local SQLite file ai_project_manager.db without crashing).

  4. Run automated backend tests:

    python -m pytest -v test_api.py
  5. Start the FastAPI server:

    python -m uvicorn main:app --reload --port 8000

    API will be live at http://127.0.0.1:8000. Interactive Swagger docs at http://127.0.0.1:8000/docs.


2. Frontend Setup

  1. Open a terminal in frontend/:
    cd frontend
  2. Install dependencies:
    npm install
  3. Start the Vite development server:
    npm run dev
  4. Open your browser at http://127.0.0.1:5173.

API Endpoints Overview

Method Endpoint Description
GET /api/health Service health status
GET /api/projects List all projects
POST /api/projects Create new project (with auto AI archetype detection)
GET /api/projects/{id} Get project details
PUT /api/projects/{id}/plan Save updated execution plan
PUT /api/projects/{id}/type Manually update project archetype
POST /api/projects/{id}/upload-pdf Upload and parse project PDF document
GET /api/projects/{id}/progress Calculate completion statistics
GET /api/projects/{id}/tasks Get sequential task list
POST /api/projects/{id}/tasks Create manual sequential task
PUT /api/tasks/{id}/toggle Toggle task (strictly enforces prior dependency completion)
PUT /api/tasks/{id}/reorder Move task up/down in sequential order
DELETE /api/tasks/{id} Delete task and re-sequence orders
POST /api/projects/{id}/ai/questions Ask 3–5 clarifying questions
POST /api/projects/{id}/ai/plan Generate full 8-section architecture plan
POST /api/projects/{id}/ai/tasks Extract ordered sequential tasks from plan
POST /api/projects/{id}/ai/improvements Suggest improvements based on progress
POST /api/projects/{id}/feedback Record user feedback to reinforce AI context
GET /api/projects/{id}/notifications Fetch activity notifications
POST /api/notifications/{id}/read Mark notification as read

About

Full-stack agentic project planner that ingests PRDs/PDFs, generates 8-stage software architecture execution plans, and enforces strict prerequisite task workflows.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages