FleetLog is a fully responsive web-based management system that serves as a fuel and fleet expense tracker for transport operators in Ghana. It is used to log fuel purchases, watch km/L efficiency and cost-per-km update automatically, and stay ahead of vehicle maintenance.
# FleetLog
- A fuel and fleet expense tracker for transport operators in Ghana which is used to
log fuel purchases, watch km/L efficiency and cost-per-km update automatically, and
stay ahead of vehicle maintenance.
- Built with Next.js 16, TypeScript, MongoDB/Mongoose, and Tailwind CSS v4.
## Project Stack
| Layer | Choice |
| ---------- | ----------------------------------------------------------------------------- |
| Framework | Next.js 16 (App Router, Turbopack, Server Components) |
| Language | TypeScript |
| Database | MongoDB via Mongoose |
| Auth | Custom JWT sessions (`jose`) in httpOnly cookies, `bcryptjs` password hashing |
| Validation | Zod (shared client/server schemas) |
| Styling | Tailwind CSS v4, self-hosted fonts (Sora / Inter / IBM Plex Mono) |
| Charts | Recharts + a hand-built SVG efficiency gauge |
| Testing | Vitest (unit tests for the calculation/validation engine) |
## Project Structure
```
src/
app/
page.tsx # public landing page
about/, contact/ # public marketing pages
login/ # sign-in (any role)
signup/ # public driver sign-up (→ PENDING)
[secret]/ # admin/manager portal (sign-in + sign-up), gated by env
dashboard/ # authenticated app shell + pages
layout.tsx # server-side auth guard, loads current user
page.tsx # role-aware overview (fleet analytics / personal stats)
vehicles/, fuel-logs/, maintenance/, users/, audit/, profile/
api/ # route handlers (REST-ish JSON API)
components/
ui/ # Button, Input/Select/Textarea, Modal, To …