MyStore is a modern, fully responsive single-page e-commerce application built with Angular 14. Users can browse products, add/remove items from the cart, see real-time totals, and complete a seamless checkout process — all without page reloads.
- View a dynamic list of products with name, price, and image
- Add products to the shopping cart
- View all items currently in the cart
- Remove individual items from the cart
- Automatically calculate and display the cart subtotal in real time
- Proceed to checkout with a clean order summary
- Fully responsive design that works on desktop and mobile
| Technology | Version | Purpose |
|---|---|---|
| Angular | 14.3.0 | Frontend framework |
| TypeScript | 4.7.2 | Primary programming language |
| RxJS | 7.8.0 | Reactive programming |
| Angular CLI | 14.3.0 | Project scaffolding and build tool |
| Jasmine + Karma | - | Unit testing |
npm install
| Package | Purpose |
|---|---|
@angular/animations |
Enables smooth animations in the UI |
@angular/common |
Common directives, pipes, and services |
@angular/compiler |
Angular template compiler |
@angular/core |
Core Angular framework |
@angular/forms |
Template-driven and reactive forms |
@angular/platform-browser |
Renders the app in the browser |
@angular/platform-browser-dynamic |
Bootstrap module for JIT compilation |
@angular/router |
Client-side navigation and routing |
rxjs |
Reactive programming library for observables |
tslib |
TypeScript helper library |
zone.js |
Change detection and async handling in Angular |
| Package | Purpose |
|---|---|
@angular-devkit/build-angular |
Angular build facade and tools |
@angular/cli |
Command-line interface for Angular |
@angular/compiler-cli |
TypeScript compilation for Angular |
typescript |
Typed superset of JavaScript |
jasmine-core, karma |
Testing framework and test runner |
karma-chrome-launcher |
Launches Chrome for running tests |
karma-coverage |
Generates code coverage reports |
karma-jasmine-html-reporter |
Displays test results in browser |
Before running the project, make sure you have the following installed:
- Node.js (v16 or higher recommended)
- npm (v8 or higher) or yarn
- Angular CLI (installed globally or via npx)
On the same terminal, run the command
ng serve
```
or
```
npm start
```