Thomas Cayne
Back to selected work

College project · Sole architecture and implementation · Live deployment · Public source

JRKC Bookstore

An end-to-end bookstore system I selected from professor-provided options and delivered during a five-week Colorado Technical University course.

The course used group assignments, but I completed the architecture, application design, implementation, database, testing, documentation, CI/CD, and Oracle deployment. It was the course's working end-to-end bookstore application rather than a demonstration or concept submission.

JRKC Bookstore catalog showing filters, ratings, pricing, and paginated book inventory
Deployed JRKC Bookstore catalog with filtering, rating, pricing, and pagination.
Constraint and context

A five-week college assignment required a working bookstore, but the original hosted database became unavailable and the public deployment had to coexist safely with other Docker workloads on one Oracle host.

Implemented approach
  • I replaced the unavailable hosted data dependency with application-owned PostgreSQL and typed Drizzle access
  • I containerized the application and database as an isolated Compose project with persistent storage and an explicit Oracle host port
  • I added CI, branch-promotion safeguards, health checks, and a deployment workflow for the public Oracle environment
Engineering decisions and tradeoffs
  • I replaced the unavailable paid hosted backend with application-owned authentication and typed Drizzle routes so identity and PostgreSQL access remain under the application's control
  • I isolated the bookstore in its own Docker Compose project, private database network, named volume, and explicit Oracle port so it cannot collide with other workloads
  • I placed Caddy at the public boundary and health-gated deployment restarts so releases touch only the bookstore Compose project
  • I rejected live Stripe credentials in deployment, preserving the completed checkout integration without accepting real payments from portfolio visitors
Resulting capability
  • I deployed the catalog, account, cart, and bookstore workflows against persistent PostgreSQL data on Oracle Cloud
  • I preserved database records across application replacement through a named volume scoped to the bookstore Compose project
  • I published the source, CI, deployment configuration, and running application as independent evidence of the completed SDLC