Browse Source

docs: add subject and audit files (#2234)

* docs: add subject and audit files

* docs: remove useless coment
CON-2239-TESTS-add-test-of-sub-exercise
zanninso 1 year ago committed by GitHub
parent
commit
9291d3fa88
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 77
      subjects/java/projects/buy-02/README.md
  2. 71
      subjects/java/projects/buy-02/audit/README.md

77
subjects/java/projects/buy-02/README.md

@ -0,0 +1,77 @@
## 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.

71
subjects/java/projects/buy-02/audit/README.md

@ -0,0 +1,71 @@
#### Functional
##### Verify that the necessary tables, fields, relations are added.
###### Has the database design been correctly implemented?
###### Have the students added new relationships and have they used them correctly?
###### Did the students convince you with their additions to the database?
##### Review the project repository to check for PRs and code reviews.
###### Are developers following a collaborative development process with PRs and code reviews?
##### Check the implementation of Orders MicroService, User Profile, Search and Filtering, and Shopping Cart functionalities.
###### Are the implemented functionalities consistent with the project instructions?
###### Are the implemented functionalities clean and do they not pop up any errors or warnings in both back and front end?
##### Add products to the shopping cart and refresh the page.
###### Are the added products still in the shopping cart with the selected quantities?
##### Utilize SonarQube to assess code quality and check for improvements based on SonarQube feedback.
###### Are code quality issues identified by SonarQube being addressed and fixed?
##### Review the user interface to ensure it's user-friendly and responsive.
###### Does the application provide a seamless and responsive user experience?
##### Check if proper error handling and validation mechanisms are in place.
###### Are user interactions handled gracefully with appropriate error messages?
##### Verify the implementation of security measures as specified in the project instructions.
###### Are security measures consistently applied throughout the application?
### Collaboration and Development Process
##### Check the repository's PR history and comments to ensure code reviews are conducted.
###### Are code reviews being performed for each PR?
##### Inspect the CI/CD pipeline configuration with Jenkins to ensure automated builds, tests, and deployments.
###### Is the CI/CD pipeline correctly set up and being utilized for PRs?
##### Examine the repository log and PR merges to ensure that branches are being merged as instructed.
###### Are branches merged correctly, and is the main codebase up-to-date?
##### Run a full test of the application to assess functionality and identify any issues.
###### Does the application pass a comprehensive test to ensure that all new features work as expected?
##### Inspect the codebase for unit tests related to different parts of the application.
###### Are there unit tests in place for critical parts of the application?
#### Bonus
##### Verify if the wishlist feature, if implemented, functions correctly.
###### Is the wishlist feature functioning as expected?
##### Check if different payment methods, if implemented, work as intended.
###### Are the implemented payment methods functioning correctly?
Loading…
Cancel
Save