Skip to content

digitalservicebund/ris-search

RIS Search

Frontend Backend Deployment
Frontend Backend Deployment

This is the repository for the public portal of NeuRIS. You can learn more about NeuRIS on our website.

Quickstart

Clone this repo:

git clone git@github.com:digitalservicebund/ris-search.git

If you're already familiar with our stack and the project, here is a list of the most important commands for running frequent tasks. You will find more detailed instructions below.

Running backend + frontend separately

# Run Docker containers (working dir: project root)
docker compose up -d

# Run backend (working dir: ./backend)
# Include `e2e` profile if you want test data for E2E tests
./gradlew bootRun --args='--spring.profiles.active=default,e2e'

# Install frontend dependencies and run frontend (working dir: ./frontend)
pnpm install
pnpm dev

You will find the following services at these addresses:

Testing

Backend:

./gradlew test              # Unit tests
./gradlew integrationTest   # Integration tests

Frontend:

pnpm test         # Unit tests (once)
pnpm test:watch   # Unit tests (watch mode)

E2E tests (backend and frontend must be running separately):

pnpm exec playwright test                     # E2E tests
pnpm exec playwright test --project chromium  # E2E tests for Chromium only
pnpm exec playwright test --ui                # Opens the Playwright UI

Code style & quality

Backend:

./gradlew spotlessApply   # Format code

Frontend:

pnpm style:fix  # Check code conventions + formatting, attempt to fix
pnpm typecheck  # Check TypeScript validity

Building

Backend:

./gradlew build

Frontend:

pnpm build

# Optionally, preview the build output (requires a running backend):
pnpm nuxt preview

Navigating the repository

This is a mono-repository containing:

Directory Description
backend The backend service (Java 21 + Spring Boot)
doc Additional documentation, including Architecture Decision Records
frontend A browser-based interface for users (TypeScript + Vue + Nuxt + Tailwind)
scripts Utility scripts

Prerequisites

To build and run the application, you'll need:

  • Docker, for services like OpenSearch
  • A Java 21-compatible JDK
  • Node.js and pnpm (you'll find the exact versions here)

If you would like to make changes to the application, you'll also need:

  • jq, for parsing license data
  • lefthook, for running Git hooks
  • (optional) adr-tools, for scaffolding new ADRs
  • (optional) nvm, for managing Node versions

If you use Homebrew, you can install all of them like this:

brew install openjdk@21 lefthook nvm pnpm adr-tools
brew install --cask docker # or `brew install docker` if you don't want the desktop app

Once you installed the prerequisites, make sure to initialize Git hooks. This will ensure any code you commit follows our coding standards, is properly formatted, and has a commit message adhering to our conventions:

lefthook install

Finally, there are some environment variables that need to be set locally. As a starting point, copy the frontend/.env.example file and rename it to .env.

Learn more

You will find more information about each module in the respective folders. If you're getting started, the READMEs of the backend and frontend will be the most relevant resources.

Additional guides:

License checking

When installing dependencies, make sure they are licensed under one of the allowed licenses. This will be checked in the pipeline for both frontend and backend dependencies. The pipeline will fail if licenses not included in the list are used by any dependency.

Contributing

If you would like to contribute, check out CONTRIBUTING.md. Please also consider our Code of Conduct.

About the Repository

Program name: NeuRIS (Neues Rechtsinformationsportal)
Description: An intuitive legal information system aimed at simplifying access to laws, regulations, and court decisions in Germany.

Copyright (C) 2025 DigitalService GmbH des Bundes

Author's Contact Information

DigitalService GmbH des Bundes
Prinzessinnenstraße 8-14,
10969 Berlin, Germany
Email: hallo@digitalservice.bund.de
Website: https://digitalservice.bund.de\

About

RIS service to search norms and case law data

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors