Skip to content

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.