Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rapter1990/jpastreamer
Spring Boot with the usage of JpaStreamer
https://github.com/rapter1990/jpastreamer
docker docker-compose dockerfile h2-database integration-testing java javafaker jpastreamer junit maven spring-boot
Last synced: about 2 months ago
JSON representation
Spring Boot with the usage of JpaStreamer
- Host: GitHub
- URL: https://github.com/rapter1990/jpastreamer
- Owner: Rapter1990
- Created: 2023-07-12T16:21:06.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-07-13T22:59:42.000Z (over 1 year ago)
- Last Synced: 2024-04-24T06:34:01.611Z (9 months ago)
- Topics: docker, docker-compose, dockerfile, h2-database, integration-testing, java, javafaker, jpastreamer, junit, maven, spring-boot
- Language: Java
- Homepage:
- Size: 345 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Spring Boot JpaStreamer Example
### 📖 Information
- The purpose of the example is to handle with writing queries with the usage of JPASteamer library
- Here is the explanation of the example
- Load initial data about Person into h2 database through JavaFaker library
- Get person list or person object from the database with the usage of JPASteamer through collect, filter, range, equal, less than, starts with, between and so on
### Explore Rest APIs
Method
Url
Description
Valid Path Variable
No Path Variable
GET
/persons/jpastreamer/all
Get All Person List
Info
GET
/persons/jpastreamer/{id}
Get Person By Id
Info
GET
/persons/jpastreamer/findByFirstCharacterOfFirstName/{character}
Get Person List By First Character of Firstname
Info
GET
/persons/jpastreamer/findByAge/{age}
Get Person List By Age
Info
GET
/persons/jpastreamer/findByLessThanAge/{age}
Get Person List By Age Less Than
Info
GET
/persons/jpastreamer/findByFirstCharacterOfFirstNameAndAge/{character}/{age}
Get Person List By First Character of Firstname and Age
Info
GET
/persons/jpastreamer/findByAgeRange/{age1}/{age2}
Get Person List By Age Range
Info
GET
/persons/jpastreamer/findMaximumAge
Get Person By Maximum Age
Info
GET
/persons/jpastreamer/findMinimumAge
Get Person By Minimum Age
Info
GET
/persons/jpastreamer/findByBirthdayRange/{startDate}/{endDate}
Get Person List By Birthday Range
Info
### Valid Path Variable
##### Get All Person List
```
http://localhost:8080/persons/jpastreamer/all
```
##### Get Person By Id
```
http://localhost:8080/persons/jpastreamer/1
```
##### Get Person List By Age
```
http://localhost:8080/persons/jpastreamer/findByAge/35
```
##### Get Person List By Age Range
```
http://localhost:8080/persons/jpastreamer/findByAgeRange/10/60
```
### No Path Variable
##### Get Person By Maximum Age
```
http://localhost:8080/persons/jpastreamer/findMaximumAge
```
##### Get Person By Minimum Age
```
http://localhost:8080/persons/jpastreamer/findMinimumAge
```
### Technologies
---
- Java 17
- Spring Boot 3.0
- Restful API
- Lombok
- Maven
- Junit5
- Mockito
- Integration Tests
- Docker
- Docker Compose
- JpaSteamer
- JavaFaker
### Prerequisites
---
- Maven or Docker
---
### Docker Run
The application can be built and run by the `Docker` engine. The `Dockerfile` has multistage build, so you do not need to build and run separately.
Please follow directions shown below in order to build and run the application with Docker Compose file;
```sh
$ cd jpastreamer
$ docker-compose up -d
```
If you change anything in the project and run it on Docker, you can also use this command shown below
```sh
$ cd jpastreamer
$ docker-compose up --build
```
---
### Maven Run
To build and run the application with `Maven`, please follow the directions shown below;
```sh
$ cd jpastreamer
$ mvn clean install
$ mvn spring-boot:run
```
### Screenshots
Click here to show the screenshots of project
Figure 1
Figure 2
Figure 3
Figure 4