Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

114 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CubeMint

CubeMint is a full-stack commerce platform for browsing, filtering, wishlisting, and purchasing a catalogue of AI-generated artisan cubes. It combines an Angular storefront with an Express API, MongoDB persistence, Stripe Checkout, image processing, authentication, and Docker packaging.

Project status: The source and local architecture are available for review. The former AWS deployment is offline, so this repository does not claim a live public demo.

CubeMint storefront

Technical overview · Portfolio

What this project demonstrates

  • Responsive product discovery with category, size, price, sort, pagination, and display controls.
  • Cart, wishlist, quantity-management, and Stripe-hosted checkout workflows.
  • An Express REST API backed by MongoDB and Mongoose.
  • Administrative product and image workflows protected by JWT authentication.
  • Separate frontend and backend containers coordinated with Docker Compose.

Architecture

Browser
  |
  v
Angular storefront (port 4200)
  |
  | REST / JSON
  v
Express API (port 4242)
  |                |
  v                v
MongoDB        Stripe Checkout

The frontend reads its API base URL from a runtime-generated env.js file. The backend handles catalogue queries, authentication, image uploads, and checkout-session creation. Product metadata is stored in MongoDB while uploaded images are served from a persistent volume.

Repository layout

web-store/
  src/                 Angular application
  server/              Express API and data access
  Dockerfile           Frontend build and Nginx runtime
  docker-compose.yml   Frontend/backend orchestration
images/                Version screenshots

Run locally

Prerequisites: Docker, a reachable MongoDB instance, and Stripe test credentials.

  1. Copy web-store/backend.env.example to web-store/backend.env and replace every placeholder.
  2. From web-store, set API_URL to the backend URL used by the browser.
  3. Start the published containers:
docker compose up

The storefront is exposed on http://localhost:4200 and the API on http://localhost:4242.

For frontend development, run npm install and npm start from web-store. For API development, run the same commands from web-store/server.

Verification and limitations

  • The portfolio review verified a MongoDB-backed catalogue response containing 66 products and captured desktop and mobile evidence.
  • The repository does not currently include an automated test suite.
  • Stripe should be used only in test mode until a production security, error-handling, and payment-flow review is complete.

License

Licensed under the MIT License.

About

Angular and Express commerce platform with MongoDB, Stripe Checkout, responsive storefront workflows, and Docker packaging.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages