-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
12 additions
and
16 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,16 @@ | ||
KBazaar - Online Shopping Application (Workshop) | ||
|
||
Context: | ||
## Pre-requisites | ||
- Java 17 | ||
- [Gradle](https://gradle.org/install/) | ||
- [pre-commit](https://pre-commit.com/#installation) | ||
- Docker | ||
|
||
KBazaar is a new online shopping platform aiming to provide a smooth and user-friendly experience for customers. This workshop will focus on implementing essential functionalities using REST APIs for the KBazaar server. | ||
## Getting Started | ||
1. Clone this repository | ||
2. cd to `kbazaar` directory and run `make setup` (if not working you can run pre-commit manually) | ||
3. Run `make test` to run unit tests | ||
4. Run `make run` to start the application | ||
|
||
MVP Scope: | ||
This workshop will focus on building the Minimum Viable Product (MVP) functionalities, prioritizing core features that deliver the most value to customers by providing an API. This includes: | ||
|
||
Products: Customers can browse and view product details which is associated with Shop | ||
Carts: Customers can add and remove items to their carts. | ||
Promotions: Customers can apply promotional codes to their carts. | ||
- Promotion could be a percentage discount or a fixed amount discount. | ||
- Promotion could be applied to the entire cart or specific products. | ||
- Promotion could be Buy 2 Get 1 Free or Buy 3 Get 1 Free | ||
Kpoints: Customers can earn Kpoints for every purchase and redeem them for discounts. | ||
- Kpoints could be earned based on the amount spent. | ||
- Kpoints could be redeemed for a discount on the next purchase. | ||
- Kpoints could be used to get a free product. | ||
- Kpoints could be used to get a discount on the entire cart. | ||
## API Documentation | ||
- Swagger UI: [http://localhost:8080/swagger-ui/index.html](http://localhost:8080/swagger-ui/index.html) |