Skip to content

πŸš› Darn Easy ELD Log Management & Smart Trip Planning πŸ›£οΈ

License

Notifications You must be signed in to change notification settings

opensass/eldflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš› ELD Flow πŸ›£οΈ

Made with Rust Rust Maintenance License

Open SASS Discord

🐧 Linux (Recommended) πŸͺŸ Windows
demo.mp4
demo.mp4
Download Executable Download Executable
Set Environment Variables Set Environment Variables
unzip files unzip files
execute ./eldflow/server execute .\eldflow\server.exe

Darn Easy ELD Log Management & Smart Trip Planning

πŸš€ Overview

ELD Flow is a powerful, Rust-based application designed for commercial drivers to log their hours of service (HOS), track trips, and ensure compliance with ELD (Electronic Logging Device) regulations. It features AI-powered summaries, real-time syncing, and seamless trip tracking.

πŸ“Š Usage

1️⃣ Sign Up/Login - Create an account and log in as a driver.

2️⃣ Start a Trip - Log pickup and drop-off locations.

3️⃣ Log Hours - Automatically track driving, on-duty, and off-duty hours.

4️⃣ Sync & Export - View reports and export logs for compliance.

✨ Features

βœ” Easy ELD Logs - Log, review, and manage hours effortlessly.

βœ” Smart Trip Tracking - Plan, monitor, and optimize every route.

βœ” AI Insights - Get automatic summaries and smart alerts.

βœ” Stay Compliant - HOS tracking with real-time violation alerts.

βœ” Built for Devs - High-performance Rust backend with fleet APIs.

βœ” GPS Route Optimization - Smarter, faster navigation.

βœ” Advanced Analytics - Actionable data at a glance.

πŸ“¦ Installation & Setup

πŸ–₯️ For Pre-Compiled Binaries

Pre-compiled binaries are available for Linux and Windows. Download, set up environment variables, and run the application.

Windows

  1. Download the latest .exe release.

  2. Run:

    .\eldflow.exe

Linux

  1. Download the latest binary.

  2. Execute:

    chmod +x eldflow
    ./eldflow

πŸ› οΈ For Developers

  1. Install rustup:

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  2. Install Dioxus CLI:

    cargo install [email protected]
  3. Fork/Clone the GitHub repository.

    git clone https://github.com/opensass/eldflow

πŸ”‘ Setting Up Env Vars

Before you can start running ELDFlow, you'll need to configure a few environment variables. These are essential for connecting to external services like MongoDB, Unsplash, and the Gemini AI, so let's get you set up! Here's a quick guide:

Create an .env File

Inside the project root, copy and create a file named .env from .env.example. This file will securely store all your environment variables.

cp .env.example .env

Note

Replace the following values with your actual credentials.

MONGODB_USR=
MONGODB_PWD=
MONGODB_CLSTR=your-cluster.mongodb.net
MONGODB_DB_NAME=elds
JWT_SECRET=
GEMINI_API_KEY=
UNSPLASH_API_KEY=

If you're missing any of these keys, check each service's developer portal to generate them.

πŸ₯‘ Set Up MongoDB

Follow our quick guide to set up your MongoDB database and connect it to your project!

πŸ” Generate JWT Secret Key

Generate a secret key using OpenSSL and update its env var in the .env file.

openssl rand -hex 128

d8d0b35856c6fa90a8f3f818fa1c71785d63181945077a4c81e28f731de406c94acad5e864fc85604c520cd67e4977a06656eee081d2d0a897415bb42d8dca167662ae53078084ce70feaee104a3428797078c5bb359db277b26182114bb6b6f4e50d34dcce1ab2ed952912f5783ca89138d508f41bc2d56e60ef2480f501819

✨ Gemini AI API

To obtain your API key, navigate to Google AI Studio and generate it there. This key allows ELDFlow to communicate with Gemini API.

πŸ“Έ Unsplash API

ELDFlow uses Unsplash which provides a powerful API to search for and retrieve high-quality images. To communicate with this api you will need a Secret key. If you don't already have one, sign up for a free account at Unsplash, create a new app, and copy the Secret key at the bottom of the page after creating the app.

πŸš€ Building and Running

Once the environment is set up, you're ready to build and run ELDFLOW.

Build the Client

dx serve

Navigate to http://localhost:3000 to access ELDFLOW.

πŸ› οΈ Project Architecture

The system is designed with modular Rust components, ensuring high performance and scalability. The Axum backend integrates MongoDB for storing logs, trips, and user data.

πŸ“‚ Database Schema

MongoDB Models

Table Description
User Stores driver details, license info, and ELD device IDs.
Trip Manages trip details, locations, and estimated durations.
EldLog Keeps track of driving, on-duty, and off-duty hours.
Route Stores trip routes, waypoints, and total distances.
DailyLog Logs daily activities, including driver signatures.
FuelingStop Records fuel stops and locations.
LogEntry Tracks status changes like driving, resting, and on-duty shifts.

🀝 Contributing

We welcome contributions! Feel free to submit pull requests or open issues for bug reports and feature suggestions.

πŸ“œ License

This project is licensed under the MIT License. See the LICENSE file for details.

About

πŸš› Darn Easy ELD Log Management & Smart Trip Planning πŸ›£οΈ

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages