Skip to content

Commit 619214e

Browse files
committed
feat: 🌈 friday vibe coding
1 parent b802758 commit 619214e

File tree

27 files changed

+431
-445
lines changed

27 files changed

+431
-445
lines changed

β€Ž.claude/settings.jsonβ€Ž

Lines changed: 0 additions & 3 deletions
This file was deleted.

β€ŽCLAUDE.mdβ€Ž

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,15 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
2222

2323
## Architecture Overview
2424

25-
SensApp is a **sensor data platform** built with Rust that scales from edge deployments (SQLite) to big data clusters (ClickHouse). It uses an **event-driven architecture** with an internal message bus for component communication.
25+
SensApp is a **sensor data platform** built with Rust that scales from edge deployments (SQLite) to big data clusters (ClickHouse). It uses **direct storage calls** for simplicity and horizontal scalability.
2626

2727
### Core Components
2828

2929
#### Data Ingestion (`src/ingestors/`)
3030

3131
- **HTTP REST API** with Axum web framework
32-
- **MQTT client** for IoT device integration
3332
- **Multi-format support**: JSON, CSV, SenML, InfluxDB line protocol, Prometheus remote write
33+
- For message queue protocols (MQTT, Kafka, etc.), use external tools like Telegraf or Vector to bridge to HTTP
3434

3535
#### Storage Abstraction (`src/storage/`)
3636

@@ -60,13 +60,12 @@ SensApp is a **sensor data platform** built with Rust that scales from edge depl
6060

6161
- Primary config file: `settings.toml`
6262
- Database connections configured via connection strings
63-
- MQTT configurations support multiple endpoints
6463
- Sentry integration for error tracking and monitoring
6564

6665
### Key Design Patterns
6766

6867
- **Async-first** using Tokio runtime throughout
69-
- **Event-driven** architecture with message passing
68+
- **Stateless architecture** with direct storage calls for horizontal scalability
7069
- **Storage-agnostic** design with trait-based abstractions
7170
- **Type safety** for sensor data with compile-time guarantees
7271
- **Scalable deployment** patterns from single-node to distributed clusters, but the complexity is handled by the storage layer (the databases).

β€ŽCargo.lockβ€Ž

Lines changed: 14 additions & 173 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

β€ŽCargo.tomlβ€Ž

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,7 @@ clap = { version = "4.5", features = ["derive"] }
9191
serde-inline-default = "0.2"
9292
serde_bytes = "0.11"
9393
sentry = { version = "0.42", features = ["anyhow", "tower"] }
94-
rumqttc = { version = "0.24", features = ["url", "websocket"] }
9594
url = "2.5"
96-
rand = "0.9"
97-
#geobuf = "0.1.4"
98-
#protobuf = "3.0.2"
9995
futures-lite = "2.6"
10096
#gcp-bigquery-client = { git = "https://github.com/lquerel/gcp-bigquery-client.git", rev = "107a5557df6336933f6b0bcf330aa91fe6ca866a" }
10197
gcp-bigquery-client = { version = "0.26.0", optional = true }

β€ŽREADME.mdβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ It enables the handling of small time series data of the edge efficiently to lar
77
## Features
88

99
- **Flexible Time Series DataBase Storage**: Supports various time-series databases such as SQLite, PostgreSQL (with optional TimeScaleDB plugin), DuckDB, ClickHouse, BigQuery, and RRDCached, with the potential to extend support to other databases in the future.
10-
- **Multiple Data Ingestion Protocols**: Easy data ingestion via HTTP REST API and MQTT.
10+
- **HTTP REST API**: Easy data ingestion via HTTP REST API with support for multiple data formats.
1111
- **Compatibility with Existing Pipelines**: Offers Prometheus Remote Write and InfluxDB line format support for seamless integration into existing sensor data pipelines.
1212
- **Data formats**: Supports various data formats like JSON, CSV, SenML, and Apache Arrow IPC.
1313

0 commit comments

Comments
Β (0)