PriceNegotiationApp is a backend project built using ASP.NET Core Web API. The application also utilizes Entity Framework and xUnit. It is designed exclusively as an API-only service. It enables customers to negotiate prices with online store staff, offering data management through CRUD operations. Up to 3 proposal retries are allowed within the negotiation process. If a proposal is more than double the base price, it's auto-rejected.
Customers may register, log in, request data about products, open up price negotiation regarding a product, propose a price for 3 times. Shop staff may add products, view negotiations, accept or deny the proposed price. Administrator is privileged to manage data, inluding user data.
The documentation in .yaml format is located in the openapi-docs.yaml file.
To visualize and interact with the documentation using Swagger UI, upload the openapi-docs.yaml file on the https://editor-next.swagger.io/ or https://redocly.github.io/redoc/.
Login | Password | Role |
---|---|---|
admin@app.com | Admin123! | Admin |
Staff1@app.com | Staff123! | Staff |
The API is secured with JWT authorization. Some non-secretive HTTP GET endpoints have been allowed anonymously. The other require authorization based on user role.
This project is licensed under the Apache License 2.0