/multi-cart

This is a full-stack React serverless web application built for demo & study purposes.

Primary LanguageTypeScriptMIT LicenseMIT

πŸ› Multi-Cart β€” a fake fancy shopping cart

Feature-Promotion-STATUS Feature-Promotion-STATUS

This is a full-stack React serverless web application built for demo and study purposes while I was learning React, GraphQL, and other tech.

NOTE: In April 2023, I upgraded most of the shopping cart code, guided by React principles and best practices learned over the past couple years, detailed in the section below.

πŸ“ 2023: Guiding Principles and Best Practices

Where applicable, I've linked to relevant code samples:

  • component composition (eg. drawerHeader={<SearchBar...) eg. 1 2 3
  • minimal state management
  • minimal useEffects, and encapsulation into custom hooks where appropriate, eg. 1 2
  • strongly-typed auto-generated React hooks from graphql schema (by codegen), eg. 1
  • Typescript, eg. 1
  • clear componentization and hierarchy, eg. 1 (in react-shared-components library)
  • simple, short functions, components, and files (under 200 lines) that are D.R.Y. and S.R.P.
  • Clean and no unnecessary comments
  • Avoided Hasty Abstractions and Rule of Threes
  • performant data-fetching (no unnecessary API calls)
  • testable components, with minimal dependencies and allowing easy-mocking with msw
  • "Smart" container vs "Dumb" component (loosely, not strictly)

πŸ‘Ύ 2023: Front-end Code Samples

Please see this "Component Guide" easily reference what components make-up what UI/UX:

React Code Samples:

Table of Contents

  1. ✈️ 10,000 Foot View
  2. ▢️ Demo Reels
  3. 🎯 Purpose
  4. πŸš€ Technologies Used
  5. πŸ‘¨πŸ»β€πŸ’» Installation and Quick Start
  6. πŸ—‚ Repo Overview
  7. πŸ‘©β€πŸ”¬ Testing Pyramid
  8. ⛅️ CI/CD
  9. 🐞 Known Issues and Future Enhancements
  10. βš™οΈ Helpful Commands
  11. πŸ”‹Backend Code Samples

Other Info:

Vercel deployments GitHub actions Terraform Cloud dev runs Cypress dashboard AWS console