An open API service indexing awesome lists of open source software.

https://github.com/rootly-ai-labs/rootly-burnout-detector-web


https://github.com/rootly-ai-labs/rootly-burnout-detector-web

Last synced: 11 months ago
JSON representation

Awesome Lists containing this project

README

          

# Rootly Burnout Detector - Web Application

A modern web application for detecting burnout risk in engineering teams using Rootly incident data, GitHub activity, and Slack communication patterns.

## ๐ŸŽฏ Overview

This web application provides an intuitive interface for analyzing team burnout risk using scientific methods based on the Maslach Burnout Inventory. It integrates with Rootly's incident management platform to provide actionable insights for engineering managers.

## โœจ Features

- **๐Ÿ” Social Authentication**: Login with Google or GitHub
- **๐Ÿ“Š Interactive Dashboard**: Visual burnout risk analysis
- **๐Ÿ‘ฅ Team Management**: Individual and team-level insights
- **๐Ÿ“ˆ Real-time Analysis**: Progress tracking during data processing
- **๐Ÿ”„ Analysis History**: Access previous assessments
- **๐Ÿ“ฑ Responsive Design**: Works on desktop and mobile

## ๐Ÿ—๏ธ Architecture

### Tech Stack
- **Frontend**: React.js + TypeScript (Vercel)
- **Backend**: FastAPI + Python (Railway)
- **Database**: PostgreSQL (Railway)
- **Authentication**: OAuth (Google/GitHub) + JWT

### Project Structure
```
rootly-burnout-detector-web/
โ”œโ”€โ”€ backend/ # FastAPI application
โ”‚ โ”œโ”€โ”€ app/
โ”‚ โ”‚ โ”œโ”€โ”€ main.py # FastAPI entry point
โ”‚ โ”‚ โ”œโ”€โ”€ core/ # Business logic & config
โ”‚ โ”‚ โ”œโ”€โ”€ models/ # Database models
โ”‚ โ”‚ โ”œโ”€โ”€ auth/ # Authentication
โ”‚ โ”‚ โ””โ”€โ”€ api/ # API endpoints
โ”‚ โ””โ”€โ”€ requirements.txt
โ”œโ”€โ”€ frontend/ # React application (coming soon)
โ”œโ”€โ”€ docs/ # Documentation
โ””โ”€โ”€ README.md
```

## ๐Ÿš€ Quick Start

### Prerequisites
- Python 3.11+
- Node.js 18+ (for frontend)
- Rootly API token

### Backend Setup
```bash
cd backend
python -m venv venv
source venv/bin/activate # or `venv\Scripts\activate` on Windows
pip install -r requirements.txt

# Copy and configure environment
cp .env.example .env
# Edit .env with your configuration

# Run the server
python -m app.main
```

The API will be available at `http://localhost:8000`

### Frontend Setup (Coming Soon)
```bash
cd frontend
npm install
npm start
```

## ๐Ÿ”ง Configuration

### Environment Variables
```bash
# Required
DEBUG=True
SECRET_KEY=your-secret-key
DATABASE_URL=sqlite:///./test.db

# OAuth (optional for development)
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
GITHUB_CLIENT_ID=your-github-client-id
GITHUB_CLIENT_SECRET=your-github-client-secret

# Rootly Integration
ROOTLY_API_BASE_URL=https://api.rootly.com
FRONTEND_URL=http://localhost:3000
```

## ๐Ÿงช Testing

```bash
cd backend
python test_api.py
```

## ๐Ÿ“Š Burnout Analysis

The application uses the **Maslach Burnout Inventory** methodology with three dimensions:

1. **Emotional Exhaustion** (40% weight)
- Incident frequency and clustering
- After-hours work patterns
- Resolution time pressure

2. **Depersonalization** (30% weight)
- Escalation patterns
- Team collaboration metrics
- Communication quality

3. **Personal Accomplishment** (30% weight, inverted)
- Resolution success rates
- Knowledge sharing
- Improvement trends

### Enhanced Analysis (Optional)
- **GitHub Integration**: Coding stress patterns
- **Slack Integration**: Communication sentiment analysis

## ๐Ÿšข Deployment

### Railway (Backend)
1. Connect GitHub repository
2. Set environment variables
3. Deploy automatically

### Vercel (Frontend)
1. Connect GitHub repository
2. Configure build settings
3. Deploy automatically

## ๐Ÿ” Security

- OAuth with Google/GitHub (no password storage)
- JWT tokens for session management
- Encrypted API token storage
- HTTPS enforcement
- Input validation and sanitization

## ๐Ÿ“ API Documentation

Once running, visit `http://localhost:8000/docs` for interactive API documentation.

## ๐Ÿค Contributing

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests
5. Submit a pull request

## ๐Ÿ“„ License

This project is licensed under the MIT License.

## ๐Ÿ”— Related Projects

- [Rootly CLI Burnout Detector](https://github.com/your-org/rootly-burnout-detector) - Command-line version
- [Rootly MCP Server](https://github.com/Rootly-AI-Labs/Rootly-MCP-server) - Model Context Protocol integration

---

Built with โค๏ธ for engineering teams everywhere.