You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
3.3 KiB

## Project Title: Completing the E-Commerce Platform
### Objectives
In this final project, you will complete the development of your e-commerce platform by implementing essential features such as the shopping cart, user profiles with order history, and search/filtering functionality. This project will bring together all the components you've developed in previous projects into a fully functional e-commerce web application. Additionally, you will follow best practices in software development.
### Instructions
#### 1. Database Design
- Add the necessary tables and fields to complete this project.
#### 2. Best Practices Ecosystem Familiarity
- Follow a collaborative development process by opening PRs for new changes and features.
- Conduct code reviews for each PR to ensure code quality, security, and best practices.
- Leverage the CI/CD pipeline with Jenkins to automatically build, test, and deploy PRs.
- Ensure that all PRs are reviewed, approved, and integrated into the main codebase.
#### 3. API Development Enhancement
**Orders MicroService:**
- Implement orders page to follow the order status.
- List the orders for both users and sellers using a search functionality.
- Implement orders management to remove, cancel, or redo orders.
**User Profile:**
- Develop a user profile section where users can see their best products, most buying products, and how much money they spent.
- Develop a seller profile section where they can see their best-selling products and how much money they gained.
**Search and Filtering:**
- Implement search functionality that enables users to search for products based on keywords.
- Add filtering options to refine product searches.
**Shopping Cart Implementation:**
- Create a shopping cart functionality that allows users to add products to their cart.
- Enable users to complete the purchase of the selected products in the shopping cart by selecting the "pay on delivery" feature.
**Code Quality and Best Practices:**
- Utilize SonarQube to ensure code quality and adherence to best practices.
- Address any code quality issues reported by SonarQube in your PRs.
- Document the improvements made based on SonarQube feedback.
#### 4. Front-end Development with Angular
- Enhance the user interface to ensure a seamless and user-friendly shopping experience.
- Implement responsive design to support various devices and screen sizes.
#### 5. Error Handling and Validation
- Implement proper error handling and validation for user interactions.
#### 6. Security Measures
- Apply the same security measures from the first part of the project.
### Bonus
As an additional challenge, you could consider implementing the following features. Note that these are not required for the completion of the project but would provide additional learning opportunities:
- Implement a wishlist feature where users can save products for future purchase.
- Add different payment methods.
### Testing
Your project will be assessed based on the following criteria:
- Successful implementation of the shopping cart, user profile, and search/filtering functionality.
- User-friendly and responsive design.
- Proper documentation of the new features.
- Thorough testing to ensure all features work as expected.
- Adherence to best practices in software development, including unit testing, code quality checks, and code reviews.