Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cankurttekin/shoppingcart
A Web API developed using Spring Boot, Spring Data JPA and Spring Security following Onion Architecture, DDD and design patterns.
https://github.com/cankurttekin/shoppingcart
clean-architecture crud domain-driven-design onion-architecture spring spring-boot webapi
Last synced: about 1 month ago
JSON representation
A Web API developed using Spring Boot, Spring Data JPA and Spring Security following Onion Architecture, DDD and design patterns.
- Host: GitHub
- URL: https://github.com/cankurttekin/shoppingcart
- Owner: cankurttekin
- License: gpl-3.0
- Created: 2024-07-12T12:32:10.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-07-18T12:26:09.000Z (6 months ago)
- Last Synced: 2024-11-05T11:15:00.555Z (about 2 months ago)
- Topics: clean-architecture, crud, domain-driven-design, onion-architecture, spring, spring-boot, webapi
- Language: Java
- Homepage:
- Size: 681 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Market
A Web API developed using **Spring Boot**, **Spring Data JPA** and **Spring Security** following Onion Architecture and other useful design patterns.##
- Java 17
- Spring Boot
- Spring Data
- PostgreSQL
- Onion Architecture
- Domain Driven Design
- Unit Testing
- Object Oriented
- Design Patterns
## Endpoints
List of endpoints:
GET
/api/products
Retrieve all products
ROLE=EMPLOYEEPOST
/api/products
Create new product
ROLE=MANAGERGET
/api/products/{id}
Retrieve product by id
ROLE=EMPLOYEEPUT
/api/products/{id}
Update product by id
ROLE=MANAGERDELETE
/api/products/{id}
Delete product by id
ROLE=ADMINDELETE
/api/products/
Delete all products!
ROLE=ADMINGET
/api/products/available
Retrieve all available products
ROLE=EMPLOYEE###
## Database
Role and users are in two tables with passwords stored as **bcrytp hash**, primary key being user_id in a members table.
![Screenshot of a db er diagram.](/images/db-diagram.png)