This project was generated using Angular CLI version 20.2.2.
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.
- Framework: Angular
- Language: TypeScript
- State Management: RxJS / Observables
- Styling: CSS/SCSS
- API Communication: Angular HttpClient
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.
To start a local development server, run:
ng serveOnce 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.
Angular CLI includes powerful code scaffolding tools. To generate a new component, run:
ng generate component component-nameFor a complete list of available schematics (such as components, directives, or pipes), run:
ng generate --helpTo build the project run:
ng buildThis 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.
To execute unit tests with the Karma test runner, use the following command:
ng testFor end-to-end (e2e) testing, run:
ng e2eAngular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.
For more information on using the Angular CLI, including detailed command references, visit the Angular CLI Overview and Command Reference page.