Skip to content

Development Setup

Getting Started

For the backend the Laravel php framework is used. For development Laravel includes Laravel Sail, a setup using Docker and Docker Compose. To get started, follow these steps:

  1. Install Docker as described in the official Docker docs

  2. If you're running Docker on Linux, follow the post-installation steps to manage docker as a non-root user

  3. Install Docker Compose as described in the official Docker Compose docs

  4. Run the boostrap.sh script in order to setup a fresh installation:

bash
./bin/dev/bootstrap.sh

Usage

Following the steps above to start the local development setup, you will have

Have a look at the official Laravel Sail docs to see all possible commands and things you can do with it. Here a selection of the most used commands (also using custom scripts in ./bin):

CommandDescription
./bin/dev/boostrap.shClean install of everything
./bin/dev/start.shStarts all development servers
./bin/dev/stop.shStops all containers

Frontend

For the Frontend a SPA using Vue.js is included at resources/frontend. For the developers' convenience, there's a package.json in the project root which provides shortcuts to scripts defined in resources/frontend/package.json.

You can use the ./bin/dev/start.sh script to startup the development vite server. The app is still accessible at http://localhost:8000 but will now use the assets compiled on the fly with vite and it's hot module replacement feature.

E2E Tests

When running e2e tests locally, you have to do this from your machine (not from inside the docker container) for the moment. So instead of running sail npm run frontend:test:e2e you should just run npm run frontend:test:e2e.

Documentation

An interactive website for documentation built with VitePress is included as well at docs.

You can use the ./bin/dev/start.sh script to startup the development docs server at http://localhost:8080.

Errors when running locally

Whenever you experience any error trying to run Open Case locally, please follow these steps:

  1. Bring down the composer setup, including the volumes (this will delete all persisted data):
bash
sail down -v
  1. Delete the .env:
bash
rm .env
  1. Run the bootstrap script again:
bash
./bin/dev/bootstrap.sh

If the issues persists, please check all GitLab Issues labeled with bug and dx/code style for possible previous fixes. If you can't find it, please open up a bug report.