Skip to content

E-commerce-Service/Ecommerce-Front

Repository files navigation

🛒 E-commerce Microservices Frontend

Angular TypeScript SASS PNPM

This repository contains the client-side application for the E-commerce Microservices ecosystem. It is a Single Page Application (SPA) built with Angular, designed to provide a seamless shopping experience for customers and a comprehensive management dashboard for administrators.

🚀 Key Features

The application is divided into distinct feature modules to ensure scalability and maintainability.

👤 Customer Features

  • Authentication: Secure Sign In and Sign Up flows with JWT token management.
  • Product Discovery:
    • Home page with featured items.
    • Advanced Search functionality.
    • Category browsing and filtering.
    • Detailed Product pages.
  • Shopping Experience:
    • Full Cart management (Add, Remove, Update quantities).
    • streamlined Checkout process.
  • Social & Interaction:
    • Reviews & Ratings: Users can leave star ratings and comments on products.
    • Interactive Comments: Like/Dislike and Reply support.
  • User Account:
    • Profile management.
    • Order History view.

🛡️ Admin Dashboard

  • Product Management: CRUD operations for the product catalog.
  • Category Management: Organize product hierarchies.
  • Order Management: View and manage customer orders and statuses.
  • Admin Layout: dedicated sidebar and layout for administrative tasks.

🏗️ Architecture

This project follows a Feature-Sliced architectural pattern to keep business logic isolated and reusable.

src/app/
├── core/           # Singleton services, Enums, Type definitions, Interceptors, and Guards
├── features/       # Business logic divided by domain (Admin, Auth, Cart, Checkout, etc.)
├── shared/         # Reusable UI components (Buttons, Modals, Cards) and Pipes
├── environment/    # Configuration for Microservices API endpoints
└── styles.sass     # Global styles and SASS variables

Key Technical Implementations

  • State Management: Service-based state management (e.g., cart.service.ts, auth.service.ts).
  • Security:
    • AuthGuard to protect routes.
    • AuthInterceptor to inject JWT tokens into HTTP requests automatically.
  • UX Components: Custom Toasts, Modals, and Loading skeletons.

🛠️ Prerequisites

Ensure you have the following installed:

  • Node.js (LTS version recommended)
  • PNPM (Package Manager)

📦 Installation

  1. Clone the repository:

    git clone https://github.com/E-commerce-Service/Ecommerce-Front.git
    cd Ecommerce-Front
  2. Install dependencies:

    pnpm install
  3. Environment Configuration: Update src/app/environment/environment.ts to point to your backend API Gateway or microservices endpoints.

▶️ Running the Application

Development server:

pnpm start

Navigate to http://localhost:4200/. The application will automatically reload if you change any of the source files.

Build for production:

pnpm run build

The build artifacts will be stored in the dist/ directory.

🧪 Code Quality

Linting:

pnpm run lint

The project uses ESLint to ensure code consistency and best practices.

🤝 Contributing

  1. Fork the project.
  2. Create your feature branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Add some AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request.

📄 License

Distributed under the MIT License. See LICENSE for more information.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages