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.
The application is divided into distinct feature modules to ensure scalability and maintainability.
- 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.
- 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.
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
- State Management: Service-based state management (e.g.,
cart.service.ts,auth.service.ts). - Security:
AuthGuardto protect routes.AuthInterceptorto inject JWT tokens into HTTP requests automatically.
- UX Components: Custom Toasts, Modals, and Loading skeletons.
Ensure you have the following installed:
-
Clone the repository:
git clone https://github.com/E-commerce-Service/Ecommerce-Front.git cd Ecommerce-Front -
Install dependencies:
pnpm install
-
Environment Configuration: Update
src/app/environment/environment.tsto point to your backend API Gateway or microservices endpoints.
Development server:
pnpm startNavigate to http://localhost:4200/. The application will automatically reload if you change any of the source files.
Build for production:
pnpm run buildThe build artifacts will be stored in the dist/ directory.
Linting:
pnpm run lintThe project uses ESLint to ensure code consistency and best practices.
- Fork the project.
- Create your feature branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
Distributed under the MIT License. See LICENSE for more information.