Skip to content

A Web API developed using Spring Boot, Spring Data JPA and Spring Security following Onion Architecture, DDD and design patterns.

License

Notifications You must be signed in to change notification settings

cankurttekin/ShoppingCart

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Architecture

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

Tests

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.

About

A Web API developed using Spring Boot, Spring Data JPA and Spring Security following Onion Architecture, DDD and design patterns.

Topics

Resources

License

Stars

Watchers

Forks