All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Modified the folder structure for the SPA and Web API tests. Modified CI workflows to align with these changes
- Modified Makefile targets for the Web API
- Optimizations
- Continuous Integration workflows considering Docker image builds and pushing them to a Docker registry
- Comment CodeQL actions to reduce workflow durations in pr.yml and release.yml
- Optimizations
- Implemented filtering and pagination for specific list calls in web backend
- Removed
Click
suffix from method names in web frontend
- Optimizations
- Enabled uploading of product images
- Fixed links and features list in README.md
- Order Management
- Order Processing
- Managed customer orders from creation to completion.
- Incorporated payment APIs like PayPal or Stripe
- Order Items
- Handled individual items within an order, including quantity and price details.
- Order Processing
- Fix links in README.md
- Product Reviews
- Enabled users to write reviews for products, rate them and provide feedback.
- Ensures to update views in product detail component for any user
- Modified permissions for
GetAllCarts()
method in CartController.cs component - Ensured proper navigation handling from the cart list component and within the cart component
- Modified page not found component
- Added HTTP controller endpoints for retrieval of orders, reviews, products and carts related to a specific user
- Checked for existing user cart before creating a new one in product list component
- Retrieved product by product id in
ngOnInit
and implementedhandleDeleteItem(...)
methods in cart item component - Implemented checkout logic, removed edit and delete button/logic from cart component
- [Feature] Shopping Cart
- Cart Functionality
- Allowed users to add products to their cart, view cart contents and update quantities.
- Cart Persistence
- Ensured cart contents persist across user sessions.
- Cart Functionality
- Modified the entity relationship diagram to ensure that the cart item entity includes the
UserID
property - Updated the smoke tests to remove the obsolete user ID from the request DTO and enable smoke tests for the order management in order controller
- Modified authorization policies and adjust
Authorize attributes
for HTTP controller endpoints in the web backend - Updated smoke tests to align with the latest HTTP controller endpoints incorporating bearer tokens.
- Modified api-design and diagrams
- Modified web frontend to align with changes in the web backend incorporating bearer tokens
- Replaced swagger generated Swagger-generated services
- Eliminated user and category domain as it will be managed through the Auth0 platform
- [Feature] User Management
- User Registration & Authentication
- Securely handled user sign-up, login, and role management.
- Communicated with IAM provider APIs like Auth0.
- Considered OIDC trough
auth0-angular
npm package in web frontend - Considered RBAC in web backend trough
Microsoft.AspNetCore.Authentication.JwtBearer
nuget package
- User Registration & Authentication
- Resolved issues with TypeScript tests
- Setup Github workflows
- Setup eslint for web frontend
- Removed unused directories in web backend
- Configured the web frontend to use Swagger-generated services with
HttpClient
in the components - Added order-creation, review-creation, product-creation components
- Enabled CORS in the web backend
- Updated interfaces, implementations and HTTP endpoints in the web backend
- Removed web frontend using mocked data
- Revised the web frontend using mocked data to include a header component shared by other components, simulated login/logout and registration processes and improved navigation.
- Established initial project setup, including API design and entity-relationship diagrams.
- Implemented and tested the initial web backend, adhering to the design.
- Developed the initial web frontend with mocked data.