https://github.com/i0sys/taskmaster
The app showcases the use of Spring Boot WebFlux and R2DBC to build reactive applications.
https://github.com/i0sys/taskmaster
r2dbc-postgresql spring-boot webflux
Last synced: 9 months ago
JSON representation
The app showcases the use of Spring Boot WebFlux and R2DBC to build reactive applications.
- Host: GitHub
- URL: https://github.com/i0sys/taskmaster
- Owner: i0sys
- Created: 2023-04-29T02:28:43.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-05-03T17:54:18.000Z (over 2 years ago)
- Last Synced: 2025-02-28T21:10:59.059Z (10 months ago)
- Topics: r2dbc-postgresql, spring-boot, webflux
- Language: Java
- Homepage:
- Size: 80.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# TaskMaster
This is a To Do App built with Spring Boot WebFlux, R2DBC, and PostgreSQL. The app showcases the use
of Spring Boot WebFlux and R2DBC to build reactive applications. It features a RESTful API built
with Spring WebFlux functional endpoints that handle requests. The app uses R2DBC to connect to a
PostgreSQL database, making it an efficient and reliable choice for building reactive applications.
## Table of Contents
- [Usage](#usage)
- [Requirements](#requirements)
- [Installation](#installation)
# Usage
## Requirements
- JDK 11 or higher
- Maven 3.6.3 or higher
## Installation
1. Clone the repository to your local machine.
2. Make sure you have Java 11 or higher installed on your machine.
3. Make sure you have Maven installed on your machine.
4. In the terminal, navigate to the project root directory.
5. Run the command `mvn clean package` to build the project and generate a jar file.
6. Run the command `java -jar target/restful-spring-1.0-SNAPSHOT.jar` to start the server.
7. The server will be running on `http://localhost:8080/`.
Note: You might need to configure your database connection in the `application.properties` file
before running the project.
## Running the application
1. Run the application: `java -jar target/.jar`
2. The application will run on `http://localhost:8080`
## API Endpoints
- GET `/tasks`: Retrieve all tasks.
- GET `/tasks/{id}`: Retrieve a task by ID.
- POST `/tasks`: Create a new task.
- PUT `/tasks/{id}`: Update a task.
- DELETE `/tasks/{id}`: Delete a task.
### Sample Request Body (for POST and PUT requests)
```json
{
"title": "Task title",
"taskDescription": "Task description",
"completed": false
}
```
### Sample Response Body (for GET, POST, and PUT requests)
```json
{
"id": "48ad4c4b-4f8c-4ca6-b5f5-5f6c5e23806c",
"title": "Task title",
"taskDescription": "Task description",
"completed": false
}
```