A GitHub monitoring platform for unified tracking of pull requests, issues, and repository activity
GitRadar provides developers with a clean, distraction-free command center for GitHub activity. Monitor multiple repositories, receive smart notifications, and stay on top of what matters without the noise.
| Feature | Description |
|---|---|
| Multi-Repository Monitoring | Track up to 10 repositories in a single unified dashboard |
| Unified Activity Feed | View all PRs and issues across repositories with advanced filtering |
| Granular Notifications | Configure in-app and push notifications per repository |
| Background Sync | Automatic synchronization every 5 minutes via Serverpod scheduler |
| Manual Refresh | Force sync data from GitHub on demand |
| Theme Support | Full light, dark, and system theme modes |
| Anonymous Mode | Browse public repositories without authentication (60 req/hr limit) |
- Flutter SDK 3.x or higher
- Docker Desktop
- Serverpod CLI
dart pub global activate serverpod_cli# Clone the repository
git clone https://github.com/anthropics/gitradar.git
cd gitradar
# Run setup script
./scripts/setup.sh
# Start PostgreSQL database
./scripts/db-start.sh
# Start Serverpod server (terminal 1)
./scripts/server-start.sh
# Start Flutter app (terminal 2)
cd app && flutter run -d chrome --web-port=3000| Service | URL |
|---|---|
| Server | http://localhost:8080 |
| App | http://localhost:3000 |
| Production API | https://gitradar.api.serverpod.space/ |
gitradar/
├── server/ # Serverpod backend
│ ├── lib/src/
│ │ ├── endpoints/ # RPC endpoints (not REST)
│ │ ├── models/ # Database models (.spy.yaml)
│ │ ├── services/ # Business logic layer
│ │ └── futures/ # Scheduled background jobs
│ └── migrations/ # Database migrations
├── app/ # Flutter application
│ └── lib/src/
│ ├── features/ # Feature-based modules
│ ├── core/ # Theme, client, constants
│ ├── providers/ # Global Riverpod providers
│ └── routing/ # GoRouter configuration
├── gitradar_client/ # Auto-generated Serverpod client
├── scripts/ # Development helper scripts
└── docs/ # Project documentation
| Layer | Technologies |
|---|---|
| Frontend | Flutter 3, Riverpod, GoRouter, Material 3 |
| Backend | Serverpod 3, Dart |
| Database | PostgreSQL 16 |
| Push Notifications | OneSignal |
| Deployment | Serverpod Cloud |
| Document | Description |
|---|---|
| ARCHITECTURE.md | System architecture and technical diagrams |
| DATABASE.md | Database schema and DBML definitions |
| GETTING_STARTED.md | Detailed development setup guide |
| PRD.md | Product requirements and roadmap |
| CLAUDE.md | AI assistant development instructions |
| Script | Description |
|---|---|
./scripts/setup.sh |
First-time setup (install dependencies, generate code) |
./scripts/db-start.sh |
Start PostgreSQL via Docker |
./scripts/db-stop.sh |
Stop PostgreSQL container |
./scripts/db-reset.sh |
Reset database (destructive) |
./scripts/server-start.sh |
Start Serverpod server |
./scripts/generate.sh |
Regenerate code after model changes |
- Fork the repository
- Create a feature branch
git checkout -b feature/your-feature-name
- Commit your changes
git commit -m "Add: description of your feature" - Push to the branch
git push origin feature/your-feature-name
- Open a Pull Request
For detailed development setup, see GETTING_STARTED.md.
This project is licensed under the MIT License. See LICENSE for details.
- Built for the Serverpod 3 Global Hackathon
- GitHub REST API for repository data
Built by @adityawaslost
