This document describes the common development tasks for TEAMMATES. It is assumed that you have already set up your development environment.
First, generate type definitions from the backend:
./gradlew generateTypes
gradlew.bat generateTypes
Then start the frontend server:
npm run start
The server will be available at http://localhost:4200. It runs in watch and live reload mode by default — any saved changes will be reflected immediately.
To disable live reload:
npm run start -- --no-live-reload
Start the database if it is not already running:
docker compose up -d
Then start the backend server:
./gradlew serverRun
gradlew.bat serverRun
The server will be available at http://localhost:8080.
To stop the server, press Ctrl + C.
& to the command. To stop it, kill the process on port 8080.
To serve the frontend from the backend server (e.g. for production environments or E2E tests):
npm run build
The frontend can now be accessed from http://localhost:8080 or your configured backend URL.
To run component tests:
./gradlew componentTests
npm run test
gradlew.bat componentTests
npm run test
To run static analysis tools:
./gradlew lint --continue
npm run lint
gradlew.bat lint --continue
npm run lint
TEAMMATES also includes end-to-end and accessibility tests. For more information, refer to the testing guide.
Main config files — vary per developer and change frequently:
| File | Purpose |
|---|---|
build.properties | Configuration for the Backend |
build-dev.properties | Local development overrides for build.properties |
config.ts | Configuration for the Frontend |
test.properties | Configuration for the test driver (separate files for component and E2E tests) |
Build config files — manage dependencies and automated tasks:
| File | Purpose |
|---|---|
build.gradle | Backend dependencies and Gradle tasks |
package.json | Frontend dependencies and NPM tasks |
angular.json | Angular application configuration |
Static analysis — configuration files under static-analysis/. See static analysis guide.