https://github.com/cyjay96/spring-core
https://github.com/cyjay96/spring-core
docker gradle java junit5 liquibase lombok mapstruct mockito postgresql rest spring testcontainers
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/cyjay96/spring-core
- Owner: CyJay96
- Created: 2023-03-20T21:09:01.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-04-30T19:39:53.000Z (about 3 years ago)
- Last Synced: 2025-08-01T19:55:16.331Z (11 months ago)
- Topics: docker, gradle, java, junit5, liquibase, lombok, mapstruct, mockito, postgresql, rest, spring, testcontainers
- Language: Java
- Homepage:
- Size: 278 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## **Gift Certificate API**
### **The stack of technologies used**
**API Technologies:**
- SOLID
- OOP
- DI
- REST
**Backend technologies:**
- Java 17
- Spring Boot 3
- Lombok
- MapStruct
**Build Tool:**
- Gradle 7.5
**DataBase:**
- PostgreSQL
- LiquiBase
**Containerization:**
- Docker
**Testing:**
- Junit 5
- Mockito
- Test Containers
### **Endpoints**
**Gift Certificate**
| **HTTP METHOD** | **ENDPOINT** | **DESCRIPTION** |
|:---------------:|:-------------------------------------------------------------:|:-------------------------------------:|
| **POST** | `/api/v0/giftCertificates` | Create new Gift Certificate |
| **GET** | `/api/v0/giftCertificates` | Get all Gift Certificates |
| **GET** | `/api/v0/giftCertificates/criteria` | Get all Gift Certificates by criteria |
| **GET** | `/api/v0/giftCertificates/{id}` | Get Gift Certificate by ID |
| **PUT** | `/api/v0/giftCertificates/{id}` | Update Gift Certificate by ID |
| **PATCH** | `/api/v0/giftCertificates/{id}` | Partial Update Gift Certificate by ID |
| **PATCH** | `/api/v0/giftCertificates/add/{giftCertificateId}/{tagId}` | Add Tag to Gift Certificate |
| **PATCH** | `/api/v0/giftCertificates/delete/{giftCertificateId}/{tagId}` | Delete Tag from Gift Certificate |
| **DELETE** | `/api/v0/giftCertificates/{id}` | Delete Gift Certificate by ID |
**Tag**
| **HTTP METHOD** | **ENDPOINT** | **DECRIPTION** |
|:---------------:|:-------------------:|:------------------------:|
| **POST** | `/api/v0/tags` | Create new Tag |
| **GET** | `/api/v0/tags` | Get all Tags |
| **GET** | `/api/v0/tags/{id}` | Get Tag by ID |
| **PUT** | `/api/v0/tags/{id}` | Update Tag by ID |
| **PATCH** | `/api/v0/tags/{id}` | Partial Update Tag by ID |
| **DELETE** | `/api/v0/tags/{id}` | Delete Tag by ID |
**User**
| **HTTP METHOD** | **ENDPOINT** | **DESCRIPTION** |
|:---------------:|:--------------------------------:|:--------------------------------:|
| **GET** | `/api/v0/users` | Get all Users |
| **GET** | `/api/v0/users/{id}` | Get User by ID |
| **GET** | `/api/v0/users/highestOrderCost` | Get User with highest order cost |
**Order**
| **HTTP METHOD** | **ENDPOINT** | **DESCRIPTION** |
|:---------------:|:---------------------------------------------:|:-------------------------:|
| **POST** | `/api/v0/orders/{userId}/{giftCertificateId}` | Create new Order |
| **GET** | `/api/v0/orders` | Get all Orders |
| **GET** | `/api/v0/orders/byUserId/{userId}` | Get Orders by User ID |
| **GET** | `/api/v0/orders/{id}` | Get Order by ID |
| **GET** | `/api/v0/orders/{orderId}/{userId}` | Get Order by ID & User ID |