Skip to content

EnKarin/BookCrossingServer

Repository files navigation

BookCrossing Server

BookCrossing is the implementation of a simple service for the exchange of paper books.

Java CI GitHub codecov Coverage Lines of Code Code Smells Mutation testing badge

Requirements

  1. Java 17 and above
  2. Maven
  3. PostgreSQL

The service provides the following functions:

  • User registration/authorization
  • List of users
  • Updating profile data
  • Adding/removing a book description
  • List of books
  • Basic messenger
  • Bookmarks
  • Administrative functions for blocking/unblocking users

Building

git clone https://github.com/EnKarin/BookCrossingServer.git
cd BookCrossingServer
./mvnw clean package

Build Docker image

With arm64 support
./mvnw clean package docker:build -DskipTests
Without arm64 support
./mvnw spring-boot:build-image -DskipTests

Running locally

Run PostgreSQL database only

docker-compose --project-name="pg-bookscrossing" up -d
Stop
docker-compose --project-name="pg-bookscrossing" down

Run application in Docker

docker-compose --file docker-compose-full.yml --project-name="bookscrossing-full" up -d
Stop
docker-compose --project-name="bookscrossing-full" down

Documentation

Swagger UI interactive documentation for localhost

Issue Tracking

Found a bug? Have an idea for an improvement? Feel free to file an issue.

About

Server implementation for a book exchange application

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Contributors 5