Codebase
Github Organization
Our team's codebase is held by a GitHub organization: CS Personal Data Acquisition Prototype.
The organization can be found here.
Detailed descriptions, feature overviews, installation/build guides, troubleshooting steps, and issues/future work can be found on each repository README page.
Repositories
The following repositories make up our project:
Rust-TCP
- Remote TCP server facilitating inter-project communication between repositories.
- Holds historical data in an integrated SQLite3 database.
- Serves egui web client to user devices.
- Hosted on AWS for the project.
UI-Layer
- Web client frontend.
- Immediate mode rendering utilizing egui.
- Allows for text and graphical visualization of live and historical data.
- User and session system.
- Light and dark modes.
client-api-lib
- Rust crate to facilitate communication between UI and TCP server.
- Linked to UI layer as an external crate.
Pi_Transmit
- Connects to a local SQLite3 database to transmit batches of stored data to Rust-TCP.
- Options for batch size and frequency.
- Run on Raspberry Pi or locally on desktop.
Mock_Data
- Generates mock ECE data at 100Hz.
- Transmits the generated data through websockets.
Infrastructure_Setup
- AWS deployment scripts for TCP server
ECE_Consolidation
- Script to read and store sensor data from ECE Team's sensor pack.
Sample_DB
- Sample raw data db for use with Pi_Transmit.