02 / Catalog & ordering · Web
Sky’s Coffee
From finding a favorite coffee to completing an order.
An exploration of the coffee shop customer journey: catalog, product details, account, cart and simulated checkout in one Java application.

01 / CONTEXT
Why I built it
I wanted to build a complete e-commerce flow in a familiar, focused setting. A coffee shop provided a practical way to connect product browsing, customer authentication, cart management and server-side order records.
What it does
- Six-coffee catalog with search, filters and product details.
- Local registration and login, with a separate cart per account.
- Quantity validation and server-calculated totals.
- Simulated checkout, customer profile and order history.
Strengths
- A connected journey from catalog to order history.
- Prices are calculated on the server; cart changes use POST with CSRF.
- An isolated demo mode makes the core flow reproducible without external services.
Current limitations
- Checkout is simulated; no real payments are processed.
- Email, OAuth and legacy payment integrations are not production-verified.
- The in-memory demo database resets on restart.
02 / PROCESS
Challenges & lessons
Beyond the interface, I worked through transaction consistency: separate customer carts, order snapshots, server-side prices and repeated checkout submissions. Demo refinements also helped separate the core application from external service dependencies.
Evidence & demo status
19 tests passed and the build succeeded. Catalog, accounts, cart, simulated checkout, profile and order history were checked locally. Screenshots show the running application with fictional accounts and orders.
03 / DOCUMENTATION
Inside the application
What comes next
Connect a payment sandbox, verify payment notifications and prepare a persistent deployment database.
Contribution & process +
I independently developed the original application, from its logic to its interface. Codex assisted with recent refinements, testing and portfolio demo preparation. Documentation uses sample data.


