Skip to content

Latest commit

 

History

History
163 lines (124 loc) · 5.24 KB

README.md

File metadata and controls

163 lines (124 loc) · 5.24 KB

BSS Web admin backend

CircleCI GitHub Release Date GitHub Tag GitHub branch checks state Codecov branch Swagger Validator GitHub code size in bytes GitHub Bugs Code Smells Duplicated Lines (%) Lines of Code Maintainability Rating Quality Gate Status Reliability Rating Security Rating Technical Debt Vulnerabilities

Project structure

---
title: Project structure
---
classDiagram
    direction TB

     namespace server {
         class src
         class web
         class operation
         class service
         class model
         class data
         class common
     }

    integration ..> client
    client ..> operation
    integration ..> data
    web ..> operation
    web ..> service
    service ..> data
    operation ..> model
    model ..> common
    data ..> common
    service ..> model
    src ..> web
Loading

Note: client can only access operation, model, common. No business code

Note: integration can only access client (with everything mentioned above) and data. No business code

Development

Pre-requisites

Download sdkman to manage java and gradle versions.

git clone [email protected]:BSStudio/bss-web-admin-backend.git
cd bss-web-admin-backend
sdk env install

Lint

./gradlew spotlessCheck

Apply lint

./gradlew spotlessApply

Test

./gradlew test

Integration test

docker compose up -d
./gradlew integrationTest
docker compose down

Build

Docker:

docker build -t bss-web-admin-backend .

Gradle:

./gradlew build

Run

Docker:

docker run bss-web-admin-backend

Docker compose:

docker compose up

This will start the app, database, and 3rd party mocks.

If you want to look at metrics

# Set your git not to commit changes to the default Grafana config
git update-index --skip-worktree docker/grafana/grafana.db
docker compose -profile metrics up

# If you want to commit changes to the default Grafana config
git update-index --no-skip-worktree docker/grafana/grafana.db
git add docker/grafana/grafana.db
git commit -m "Update Grafana config"
# Ignore logs again
git update-index --skip-worktree docker/grafana/grafana.db

Gradle:

./gradlew bootRun

Developer docs

Please read the documentation for each module to understand the codebase.