Managing fuel expenses is essential whether you're a frequent commuter or a casual rider. In this blog, Iโll walk you through how I built a modern Ride Cost Calculator App using Angular 20, Tailwind CSS 4, and the latest signals API from Angular.
This sleek, mobile-responsive app helps you estimate ride costs, track history, and even export or print receipts.
๐ Source Code: GitHub โ manthanank/ride-cost-calculator-app
๐ Live Demo: ride-cost-calculator-app.vercel.app
โจ Features at a Glance
- ๐ Real-time fuel cost calculation
- ๐ Persistent ride history (local storage)
- ๐ Export ride history as CSV
- ๐จ๏ธ Print ride receipts
- ๐ Choose currency (โน/\$/โฌ) and unit (km/mi)
- ๐ Toggle light/dark mode
- ๐ Responsive design for all screen sizes
๐ง Tech Stack
- Angular 20 โ Standalone components & Signals
- Tailwind CSS 4 โ Utility-first styling
- TypeScript โ Strictly typed reactive app
- PostCSS โ Tailwind configuration
๐งฎ How the Calculator Works
The calculator uses this formula:
Total Cost = (Distance / Mileage) ร Petrol Price
Supports:
- Distance in km or miles
- Fuel prices in โน, \$, โฌ
- Mileage in km/l
The app auto-converts miles to kilometers before calculation and provides a cost breakdown with fuel efficiency tips.
๐ Ride History with Export & Print
Every ride you calculate is saved locally and appears in a history list. From there, you can:
- ๐งพ Print a ride receipt
- ๐ฅ Export all records as a CSV
- ๐งน Clear history with one click
CSV export is handled by dynamically generating a blob and creating a download link. Printing is done in a new browser window with minimal styling.
๐ Dark Mode & Signals
The app uses Angular Signals to track and react to state changes like theme preference, ride input, and form reset. Theme mode is persisted in localStorage
:
const newTheme = isDarkMode() ? 'light' : 'dark';
localStorage.setItem('theme-preference', newTheme);
๐๏ธ Project Structure
ride-cost-calculator-app/
โโโ src/
โ โโโ app/
โ โ โโโ components/
โ โ โโโ models/
โ โ โโโ services/
โ โโโ environments/
โ โโโ styles.css โ Tailwind imported here
โโโ public/
โโโ angular.json
โโโ package.json
โโโ .postcssrc.json
โถ๏ธ Get Started
Clone & Install
git clone https://github.com/manthanank/ride-cost-calculator-app.git
cd ride-cost-calculator-app
npm install
Run Locally
ng serve
# Open http://localhost:4200
Build for Production
ng build --configuration production
๐ฌ Final Thoughts
This Ride Cost Calculator App is more than just a fuel estimator. It's a demonstration of modern Angular capabilities using signals, defer blocks, and standalone architecture, all styled elegantly with Tailwind CSS.
Whether you're tracking daily commutes or planning a road trip, this tool brings clarity to your fuel expenses โ with a delightful user experience.
๐ Check it out: ride-cost-calculator-app.vercel.app
๐ฆ View the Code: github.com/manthanank/ride-cost-calculator-app
Top comments (0)