Thank you for your interest in contributing to SidMonitor!
- Node.js 18+
- Python 3.11+
- Docker & Docker Compose
git clone https://github.com/junixlabs/sidmonitor.git
cd sidmonitor
make installmake dev-dbThis starts PostgreSQL and ClickHouse via Docker Compose. ClickHouse init scripts in clickhouse/init/ run automatically on first start.
cp backend/.env.example backend/.envEdit backend/.env with your local settings. See .env.example for all available options.
cd backend
alembic upgrade head# Terminal 1
make dev-backend # http://localhost:8030
# Terminal 2
make dev-frontend # http://localhost:3030| Directory | Description |
|---|---|
backend/ |
FastAPI API server (Python) |
frontend/ |
React SPA (TypeScript + Vite) |
clickhouse/init/ |
ClickHouse table schemas and materialized views |
database/ |
PostgreSQL seed data |
tests/ |
Integration and e2e tests |
- Frontend: ESLint + TypeScript strict mode. Run
cd frontend && npm run lint. - Backend: Ruff linter. Run
cd backend && ruff check ..
- Fork the repo and create a feature branch from
main - Make your changes with clear commit messages
- Ensure linting passes (
make lintor run linters manually) - Open a PR with a description of what changed and why
- PostgreSQL: Add migrations via
cd backend && alembic revision --autogenerate -m "description" - ClickHouse: Add new
.sqlfiles inclickhouse/init/with incremental numbering
Open an issue on GitHub with:
- Steps to reproduce
- Expected vs actual behavior
- Environment details (OS, browser, Docker version)