/PriceNegotiationApp

This project is a backend service 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.

Primary LanguageC#Apache License 2.0Apache-2.0

PriceNegotiationApp

Technologies

Csharp dotnet entityframework XUnit


Project Description

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.

API Endpoints

PriceNegotiationApp_Swagger-UI_Endpoints

API Documentation

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/.

Default accounts

Login Password Role
admin@app.com Admin123! Admin
Staff1@app.com Staff123! Staff

Security

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.

License

This project is licensed under the Apache License 2.0