01
Inquiry-to-vehicle matching
Customer inquiries carry budget and preference data; the platform suggests matching stock automatically and tracks each inquiry through its lifecycle to sale — with automated email touchpoints.
A three-app dealership platform covering the full workflow — inventory to invoice to profit/loss.
2025 · Automotive / Dealership · role: owner
● status: production·7 services·~2 min read
01 — overview
Carventory consolidates everything a dealership does — acquiring and listing vehicles, matching customer inquiries to stock, booking, invoicing, and financial reporting — into one platform with a public marketplace. Three integrated apps share one Spring Boot core.
02 — the problem
Dealerships juggle inventory, profit/loss tracking, customer inquiries, and public listings across disconnected tools — spreadsheets, WhatsApp, and paper invoices.
Staff and customers need entirely different surfaces over the same data: an operational dashboard for the business, a fast browsing marketplace for buyers.
03 — architecture
A monorepo with three applications over a single API core: the Spring Boot backend owns business logic, scheduled jobs, and AOP-based auditing; the React dashboard serves staff; the Next.js marketplace serves buyers. Media lives in Cloudinary, data in PostgreSQL.
04 — engineering decisions
01
Customer inquiries carry budget and preference data; the platform suggests matching stock automatically and tracks each inquiry through its lifecycle to sale — with automated email touchpoints.
02
Live dashboards for sales trends, inventory status, and stuck-capital analysis, with exportable PDF financial reports — the numbers a dealer actually runs the business on.
03
Dashboard, marketplace, and API live in one monorepo sharing a typed contract — features land in all three surfaces in a single change set.
04
AOP aspects log every state change; bookings link vehicles to buyers end to end, from advance payment through branded invoice.
Explain this project
A monorepo with three apps over one Spring Boot (Java 21) core: a React 18 staff dashboard, a Next.js 15 public marketplace, and the shared REST API that owns business logic, scheduled lifecycle jobs, and AOP-based auditing. JWT multi-role RBAC separates the staff and buyer surfaces over the same PostgreSQL data, media lives in Cloudinary, and features land across all three apps through one shared contract. It covers the full workflow — inquiry-to-vehicle matching, bookings with advance payments, branded PDF invoices, and real-time profit/loss analytics.
05 — features
06 — stack
The repository has the code, the commits, and the decisions in context — or reach out and I'll walk you through it.