Skip to content
 
 

Repository files navigation

geOrchestra Console

georchestra-console is a Spring Boot rewrite of the geOrchestra Console webapp.

The project aims to replace the legacy console while keeping the same functional scope for user self-service, delegated administration, and platform administration.

Scope

The application exposes three main functional areas:

  • Public account workflows under /console/account/*
  • User self-service under /console/account/userdetails
  • Administration screens under /console/manager/*

The manager interface covers:

  • Users
  • Organizations
  • Roles
  • Delegations
  • Administration logs
  • User messaging

Project Status

This project is an ongoing replacement of the historical geOrchestra console.

It is actively developed, but some areas are still under migration or stabilization. See TECHNICAL_NOTES.md for project history, migration notes, and remaining work.

Requirements

  • Java 21
  • Maven Wrapper (./mvnw)
  • Docker and Docker Compose for the local development stack

Quick Start

Start the local dependencies:

cd docker/dev
docker compose -f docker-compose-dev.yaml up -d

Run the application locally from the repository root:

./mvnw spring-boot:run \
  -Dspring-boot.run.jvmArguments="-Dgeorchestra.datadir=$(pwd)/docker/dev/datadir" \
  -Dspring-boot.run.arguments=--server.port=8081

Typical URLs:

  • Direct access: http://localhost:8081/console
  • Through the local gateway: http://localhost:8080/console

Testing

Test execution is split between unit/slice tests and integration tests:

  • ./mvnw test runs fast tests through Surefire
  • ./mvnw verify runs fast tests and integration tests through Failsafe

Useful examples:

./mvnw test
./mvnw verify
./mvnw -Dtest=org.georchestra.console.boot.ConsoleApplicationTests test
./mvnw -Dit.test=org.georchestra.console.boot.AxeCoreAccessibilityIT verify

Database Bootstrap

The project currently has no schema migration tool such as Flyway or Liquibase.

Some Console-specific PostgreSQL objects are not managed by JPA and must be created during the first installation with:

psql -f src/main/sql/console-bootstrap.sql

This script is not executed automatically by the application and is not packaged in the application jar.

API Documentation

The application exposes Swagger UI and grouped OpenAPI specs for the main URL families:

  • internal for /internal/*
  • public for /public/*
  • account for /account/*
  • private for /private/*

Useful URLs in local development:

  • Direct Swagger UI: http://localhost:8081/console/swagger-ui/index.html
  • Gateway Swagger UI: http://localhost:8080/console/swagger-ui/index.html
  • Direct OpenAPI specs:
    • http://localhost:8081/console/v3/api-docs/internal
    • http://localhost:8081/console/v3/api-docs/public
    • http://localhost:8081/console/v3/api-docs/account
    • http://localhost:8081/console/v3/api-docs/private
  • Gateway OpenAPI specs:
    • http://localhost:8080/console/v3/api-docs/internal
    • http://localhost:8080/console/v3/api-docs/public
    • http://localhost:8080/console/v3/api-docs/account
    • http://localhost:8080/console/v3/api-docs/private

Some private and public endpoints are legacy JSON contracts. When applicable, their OpenAPI descriptions explicitly mention that their usage outside the current Thymeleaf UI should be verified before removal or incompatible changes.

Documentation

Project documentation is maintained with MkDocs in docs.

Main entry points:

Run the documentation locally:

python3 -m venv .venv
source .venv/bin/activate
pip install -r mkdocs_requirements.txt
mkdocs serve

Then open http://127.0.0.1:8000/.

Repository Layout

  • src/main/java: application code
  • src/main/resources/templates: Thymeleaf views
  • src/main/resources/static: static assets
  • src/test/java: unit, slice, and integration tests
  • docker/dev: local development stack
  • docs: MkDocs documentation

Contributing

Please read CONTRIBUTING.md before opening a pull request.

Project discussions and coordination happen in the geOrchestra community channels and issue tracker.

License

This project is distributed under the GNU GPL v3. See LICENSE.

About

an experiment of porting the existing geOrchestra console webapp to spring boot & updated dependencies

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages