Back to Hermes Agent

RidePals

RidePals - Desktop view
Desktop view
RidePals - Mobile view
Mobile view

Key features

01

One-off and recurring rides (weekdays + time + end date) with occurrence expansion

02

Search by origin/destination/date sorted by haversine proximity with filters (seats, eco, minimum rating)

03

Atomic seat booking with capacity control: never oversells under concurrency

04

Booking state machine (pending → confirmed/rejected → completed/cancelled) with per-role permissions

05

Cross reviews 1–5 after completed trips, one per booking, duplicates rejected

06

Dashboard with km/€/CO₂ saved, average rating and upcoming rides (SQL with COALESCE)

07

Favorite routes, per-ride messaging and username-or-email login (persistent JWT)

Description

Community carpooling platform for neighborhoods, campuses and offices: "neighborhood BlaBlaCar with weekly recurrence and trust-based reputation". Drivers publish one-off or recurring rides (weekdays + time + end date) with seats, price per seat and coordinates; passengers search by origin/destination/date sorted by proximity (haversine) with filters for seats, eco vehicles and minimum rating; they book seats with atomic capacity control (no overselling under concurrency) and the driver confirms or rejects. Completing an occurrence unlocks cross reviews 1–5 (one per booking, duplicates rejected) that feed reputation. Dashboard with rides given/taken, km and €/CO₂ saved, average rating, upcoming rides and monthly series; favorite routes for one-click search; per-ride messaging between driver and passenger. Recurrence expansion with generate_series, haversine in SQL, JSONB for the recurrence rule. "Open Road" UI (highway green, signal orange, night asphalt). Login with username or email, persistent JWT. Angular 22 + NestJS 11 + SQLite.

Technologies used

Angular Angular TypeScript TypeScript NestJS NestJS SQLite SQLite