Skip to content

Repository files navigation

shmessenger

Java CI with Gradle GitHub top language GitHub code size in bytes GitHub tag (latest by date) GitHub last commit GitHub commit activity

🚀 Getting Started

You can run the application directly via Gradle, or optionally containerize it with Docker.

Local Execution (Gradle)

./gradlew bootRun

Docker (Direct Build)

docker build -t shmessenger .
docker run --env-file .env -p 8080:8080 shmessenger

Docker Compose

docker compose up --build

📖 API Documentation

The backend utilizes OpenAPI (Swagger) to document all endpoints automatically. Once the application is running, you can interact with the API interface at: 👉 Swagger UI

Known Build Warnings

When running tests or the application, you may see the following harmless JVM warnings in your console:

  1. WARNING: A restricted method in java.lang.System has been called

    • Why it happens: The SQLite JDBC driver uses native C libraries via System.load(). Java 22+ logs a warning whenever native libraries are loaded without explicit permission flags.
    • Why it's normal: Standard SQLite behavior. It's completely harmless and does not affect the app.
  2. Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes...

    • Why it happens: Spring Boot uses dynamic library modification (like ByteBuddy for Mockito checks) which disables the JVM's "Class Data Sharing" (CDS) optimization for application classes.
    • Why it's normal: Standard behavior for Spring implementations with mock testing setups.

About

back end for shmessenger app

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages