Spring RealWorld Conduit API
MIT License
Spring Boot RealWorld Conduit API implements the API Endpoints of Conduit, which is a Medium.com clone.
Install JDK using SDKMAN
$ curl -s "https://get.sdkman.io" | bash
$ source "$HOME/.sdkman/bin/sdkman-init.sh"
$ sdk install java 21.0.1-tem
$ sdk install maven
Verify the prerequisites
$ java -version
openjdk version "21.0.1" 2023-10-17 LTS
OpenJDK Runtime Environment Temurin-21.0.1+12 (build 21.0.1+12-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.1+12 (build 21.0.1+12-LTS, mixed mode)
$ docker info
Client:
Version: 27.0.3
Context: desktop-linux
...
...
Server:
Server Version: 27.0.3
...
...
$ docker compose version
Docker Compose version v2.28.1-desktop.1
# Clone the repository
$ git clone https://github.com/sivaprasadreddy/spring-realworld-conduit-api.git
$ cd spring-realworld-conduit-api
# Run tests
$ ./mvnw test
# Automatically format code using spotless-maven-plugin
$ ./mvnw spotless:apply
# Run/Debug application from IDE
Run `src/main/java/conduit/ConduitApplication.java` from IDE.
# Run application using Maven
./mvnw spring-boot:run
The application is configured to use Docker Compose to automatically start the application dependencies such as PostgreSQL.
host: localhost
port: 65432
username: postgres
password: postgres
database: postgres
Task is a task runner that we can use to run any arbitrary commands in easier way.
$ brew install go-task
(or)
$ go install github.com/go-task/task/v3/cmd/task@latest
#verify task version
$ task --version
Task version: 3.35.1
task
to perform various tasks:
# Run tests
$ task test
# Automatically format code using spotless-maven-plugin
$ task format
# Build docker image
$ task build_image
# Run application in docker container
$ task start
$ task stop
$ task restart