A crowdsourced data platform for EVCC (Electric Vehicle Charge Controller) installations. Collects and visualizes EV charging data from users worldwide.
Monorepo with two main applications:
apps/transporter- MQTT data collector that subscribes to EVCC instances and stores time-series data in InfluxDBapps/web- Web dashboard for data visualization, analysis, and user management
- Bun runtime
- InfluxDB instance (for time-series data storage)
- MQTT broker access (for data collection)
Install dependencies:
bun installConfigure environment variables in apps/web:
cd apps/web
cp .env.example .env # Create and configure your environmentConfigure MQTT and InfluxDB connection in apps/transporter.
cd apps/web
bun run devDatabase commands:
bun run db:generate # Generate migrations
bun run db:migrate # Run migrations
bun run db:studio # Open Drizzle Studiocd apps/transporter
bun run dev # Watch mode
bun test # Run tests# Web app
cd apps/web
bun run build
bun run start
# Transporter
cd apps/transporter
bun run buildBoth apps include Dockerfiles for containerized deployment.
- Framework: TanStack Start (React)
- Database: SQLite with Drizzle ORM
- API: oRPC
- UI: Radix UI + Tailwind CSS
- Charts: uPlot, Recharts
- Authentication: Custom session-based auth
- MQTT Client: mqtt.js
- Time-Series DB: InfluxDB
- Runtime: Bun
Developed by Forschungsgruppe Solar, HTW Berlin