Skip to main content
  1. All Posts/

squidshop-ecommerce

eCommerce TypeScript

SquidShop Ecommerce Monorepo

Ocean-themed ecommerce web app connected to microservice architecture backend.

šŸŽ„ Demo Video + Project Walk-through

šŸŽÆ Project Overview

  • Designed modern and responsive frontend with React, Material UI and TypeScript
  • Wrote unit, integration, and end-to-end tests with Jest and Cypress
  • Developed decoupled microservice architecture backend with RESTful API services and gateway API, running Docker containers
  • Secured client and server authentication with JSON Web Tokens (JWT), storing tokens securely in browser HttpOnly cookies
  • Managed the MySQL relational and Cassandra NoSQL databases to optimize scaling for each use case
  • Automated continuous integration with GitHub Actions, enforcing ESLint code styling, testing, and building Docker images
  • Automated scanning for static code and Docker images, tied with Dependabot to prevent known security vulnerabilities

šŸŒ Links

šŸ—ļø Architecture

āš™ļø Setup

Simply clone the repository and run the containers, as long as you have Docker installed.

$ git clone https://github.com/spencerlepine/squidshop-ecommerce.git
$ cd squidshop-ecommerce
$ docker-compose up
# visit localhost:3000 in the browser

šŸ“¦ Technologies:

šŸŒŸ Features

Browse Product Catalog

View the catalog on the landing page. Find on-sale items, search by department, and search all products with sorting options to filter by price, name, or rating.

Create an Account

Sign in or create an account with email/password, authenticating with JWT Tokens and HTTPOnly cookies.

Add to Cart and Place Orders

Store items in cart (persisted on the backend) and track order history for your profile.