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 year 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 (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-07-18T12:26:09.000Z (almost 2 years ago)
- Last Synced: 2025-03-23T21:45:43.276Z (about 1 year 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=EMPLOYEE
POST
/api/products
Create new product
ROLE=MANAGER
GET
/api/products/{id}
Retrieve product by id
ROLE=EMPLOYEE
PUT
/api/products/{id}
Update product by id
ROLE=MANAGER
DELETE
/api/products/{id}
Delete product by id
ROLE=ADMIN
DELETE
/api/products/
Delete all products!
ROLE=ADMIN
GET
/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.
