Campani Auto App
Full-Stack Developer
Campani Auto App combines vehicle auctions with live bidding and rental-fleet management in a single system. Staff handle auctions, cars, customers, and bookings; bidders log in passwordlessly. I built the rental side and kept the auction system running.
React 18, TypeScript, Fastify 4, Mantine, PostgreSQL, NX, SWR, Zod, AWS S3, Puppeteer
Overview
Campani Auto App runs two sides of an automotive business in one system: vehicle auctions with live bidding, and rental-fleet management. Staff manage auctions, cars, customers, and rental bookings; participants bid through passwordless magic-link logins.
My Role
Full-stack developer over roughly a year. I built the core rental features and maintained the auction system in production.
What I Built
- The rental calendar: every car’s check-in/check-out at a glance, filterable by car or by client
- The full rental workflow: check-in/check-out, return reports with excess-km tracking, contract numbering, and Excel export
- Auction improvements: favorites, a bid re-raise timer, offer deletion, and user filtering
- An automated email system (reminders, confirmations, alerts) and a restricted booking-only user role
Outcome
The rental calendar gave staff a single view of where every vehicle is and when it’s due back, with the whole hand-over flow (from booking to return report) tracked in one place. Day-to-day operations (reminders, confirmations, contracts, exports) run automatically instead of by hand, and the auction side kept running smoothly alongside it.
Under the Hood
- Rental calendar: responsive, color-coded assignment statuses, per-car and per-client filtering, sticky scrolling date headers
- Rental workflow: excess-km on return reports, contract numbering, license plates in summaries, and Excel export with Italian→English field translation
- Auction: favorites, a bid re-raise timer, magic-link passwordless invitations with expiring links, pagination fixes
- Email automation: morning rental reminders, booking confirmations, customized subjects, and client alerts; a booking-only role with client-scoped data visibility
- NX monorepo with 12+ shared libraries; Fastify 4 backend with Slonik and 39 migrations; Zod schemas shared front-to-back; AWS S3 for photos and documents; Puppeteer for PDF rendering