Skip to content

grigkar/jquery.maskedinput

 
 

Repository files navigation

⛽ Fuel Tracker — MVP

A web application that helps drivers record fuel fill-ups and analyze consumption and costs over time.
Built as an MVP to demonstrate clean architecture, usability, and maintainability.


📋 Overview

Goal: Provide individual drivers with a simple tool to:

  • Record each fuel fill-up (station, fuel brand/grade, total paid, liters, odometer)
  • Track history and calculate key efficiency metrics
  • Compare consumption and costs by brand, period, or vehicle

Primary user: Individual driver (multi-car supported)

Assumptions:

  • All fuel-ups are full fuel-ups
  • Odometer values increase monotonically per vehicle
  • Base units are metric (km, L, currency entered by user)

Out of scope: OCR, fleet management, trip logging, or tax reports


🔐 Roles & Permissions

Role Capabilities
Anonymous View landing page, sign up / sign in
Authenticated User Full CRUD on their vehicles and fuel entries, view dashboards
Admin (future) Developer-only tools, not included in MVP

⚙️ Functional Requirements

🔑 Authentication

  • Sign up / Sign in with email + password
  • Password policy: 8+ chars, at least 1 letter + 1 number
  • Session-based authentication (cookies)

👤 User Profile & Settings

  • Fields: display name, currency, unit preferences, timezone
  • Unit conversions at view time (data stored in metric)

🚗 Vehicle Management

  • Add / edit / delete vehicles
  • Fields: name, make/model, year, fuel type

⛽ Fuel Entry Management

  • Add / edit / delete fill-ups
  • Fields: date, odometer, station, brand, grade, liters, total, notes
  • Validation: no negative or zero values, odometer > previous

📊 Derived Metrics

  • Distance since last fill-up
  • Price per liter
  • Efficiency: L/100km or MPG
  • Cost per km/mi
  • Rolling averages (30 days) and all-time stats

📈 Dashboards

  • Overview cards: avg. consumption, total spend, distance, cost per km
  • Line charts: cost per liter and consumption over time
  • Brand/grade comparison table

🧱 Non-Functional Requirements

  • Password hashing (strong one-way)
  • HTTPS + Secure cookies
  • User data isolation
  • Pages render < 2s on broadband
  • DB queries (≤5k entries) complete < 500ms
  • GDPR: data export (CSV) & delete on request
  • Supports latest Chrome (desktop + mobile)

🧩 Tech Stack

Layer Technology
Frontend ReactJS or Angular 2+, responsive design
Backend Java (Spring Boot) / Node.js (NestJS) / .NET
Database PostgreSQL
DevOps Docker, docker-compose
Migrations Liquibase (or equivalent)

🧪 Definition of Done

✅ All MVP screens implemented:
Landing, Sign Up/In, Dashboard, Vehicle Management, Fill-Up Form, History, Statistics, Settings, Legal, Error Page

✅ Core flows covered by integration tests
✅ Validation, performance & data isolation verified
✅ Runs after clean clone:

git clone <repo-url>
docker compose up

About

jQuery Masked Input Plugin

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 96.7%
  • CSS 3.3%