Skip to content

MTM2025MT/Ecommerce-angular-project

Repository files navigation

FirstApp

This project was generated using Angular CLI version 20.2.2.

🛒 E-Commerce Platform - Web Client

A scalable, component-driven frontend storefront built to consume a decoupled backend API, manage complex cart states, and handle multi-vendor product catalogs.

This repository contains the frontend client for the E-Commerce Platform. Built entirely with Angular and TypeScript, it serves as the user-facing storefront, communicating with the ASP.NET Core backend to orchestrate authentication, product browsing, and checkout workflows.

🛠️ Technology Stack

  • Framework: Angular
  • Language: TypeScript
  • State Management: RxJS / Observables
  • Styling: CSS/SCSS
  • API Communication: Angular HttpClient

⚙️ Core System Mechanics & Architecture

This application was designed with a focus on modularity and reactive programming:

  • Component-Driven UI: The user interface is broken down into reusable, single-responsibility components (e.g., Product Cards, Cart Overlays, Vendor Dashboards), making the UI highly maintainable and easily testable.
  • Reactive State Management: Utilizes RxJS Observables to manage asynchronous data streams. This ensures the UI remains highly responsive when handling complex cart state changes, user sessions, and live product inventory updates.
  • Service-Layer API Abstraction: HTTP calls are strictly isolated within dedicated Angular Services (ProductService, AuthService, OrderService). This decouples the UI components from the network logic and provides a single source of truth for backend communication.
  • Route Protection: Implements Angular Route Guards to protect sensitive views (like user profiles and the checkout pipeline), ensuring only authenticated users with valid JWT tokens can access them.

Development server

To start a local development server, run:

ng serve

Once the server is running, open your browser and navigate to http://localhost:4200/. The application will automatically reload whenever you modify any of the source files.

Code scaffolding

Angular CLI includes powerful code scaffolding tools. To generate a new component, run:

ng generate component component-name

For a complete list of available schematics (such as components, directives, or pipes), run:

ng generate --help

Building

To build the project run:

ng build

This will compile your project and store the build artifacts in the dist/ directory. By default, the production build optimizes your application for performance and speed.

Running unit tests

To execute unit tests with the Karma test runner, use the following command:

ng test

Running end-to-end tests

For end-to-end (e2e) testing, run:

ng e2e

Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.

Additional Resources

For more information on using the Angular CLI, including detailed command references, visit the Angular CLI Overview and Command Reference page.

About

A e-commerce storefront built with Angular and TypeScript to manage product catalogs and complex order statuses.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors