AI-powered bug reporting and classification system. Users report bugs in natural language and the AI automatically classifies them by severity, module, reproduction steps, and suggested fix.
- Natural language bug reporting — users describe bugs the way they talk, no forms to fill
- AI classification — llama3.2 via Ollama classifies severity, module, reproduction steps and suggests a fix
- Real-time preview — the AI classifies the bug as you type, before you submit
- Automatic browser context — captures browser, OS, URL and screen resolution automatically
- Duplicate detection — detects similar bugs and links them to the original
- Dashboard — filter bugs by severity, module and status
- Metrics — charts showing bug trends by module, severity and timeline
- Embeddable widget — add BugBoard to any app with 2 lines of HTML
| Layer | Technology |
|---|---|
| Frontend | Angular 17+ + Tailwind CSS |
| Backend | Python + FastAPI |
| AI | Ollama + llama3.2 (runs locally) |
| Database | PostgreSQL |
| Containerization | Docker |
- Ollama installed and running
- Docker Desktop installed and running
- Node.js 18+ and npm
- Python 3.11+
git clone https://github.com/yourusername/bugboard.git
cd bugboardbrew services start ollama
ollama pull llama3.2docker run -d \
--name bugboard-postgres \
-e POSTGRES_DB=bugboard_db \
-e POSTGRES_USER=bugboard \
-e POSTGRES_PASSWORD=bugboard123 \
-p 5432:5432 \
postgres:16-alpinecd backend
python3.11 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reloadBackend running at http://localhost:8000
API docs at http://localhost:8000/docs
cd frontend/bugboard-app
npm install
ng serveFrontend running at http://localhost:4200
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/bugs/ |
Report a bug — classifies with AI |
| POST | /api/bugs/preview |
Real-time classification preview |
| GET | /api/bugs/ |
List all bugs with filters |
| GET | /api/bugs/:id |
Get bug detail |
| PATCH | /api/bugs/:id/status |
Update bug status |
| GET | /api/metrics/summary |
Overall stats |
| GET | /api/metrics/by-severity |
Bugs grouped by severity |
| GET | /api/metrics/by-module |
Bugs grouped by module |
| GET | /api/metrics/timeline |
Bug reports over time |
Add BugBoard to any web app with 2 lines:
<script src="https://your-bugboard-url.com/widget.js"></script>
<bug-report-widget app-id="your-app-name" />The widget automatically captures:
- Browser and version
- Operating system
- Current URL
- Screen resolution
bugboard/
├── backend/
│ ├── app/
│ │ ├── core/ # Config and settings
│ │ ├── database/ # SQLAlchemy connection
│ │ ├── models/ # PostgreSQL models
│ │ ├── routers/ # FastAPI endpoints
│ │ ├── schemas/ # Pydantic schemas
│ │ ├── services/ # Ollama integration
│ │ └── main.py
│ └── requirements.txt
└── frontend/
└── bugboard-app/
└── src/app/
├── core/ # Services and models
└── features/
├── dashboard/
├── bug-detail/
├── bug-report/
├── metrics/
└── widget/
- User writes a bug in natural language
- FastAPI sends the text to Ollama with a structured prompt
- llama3.2 returns a JSON with severity, module, reproduction steps and suggested fix
- The result is saved to PostgreSQL and shown in the dashboard
The prompt includes the available modules so the AI can classify correctly:
auth, payments, dashboard, profile, notifications, api, ui, database, other
Anderson Frias — @anndev
- YouTube: youtube.com/@anndev
- GitHub: github.com/anderj14
Built with ❤️ using FastAPI, Angular, and llama3.2