1- # lvz-viz
1+ # LVZ Polizeiticker
22
3- [ ![ Build Status] ( https://travis-ci.org/sepe81/lvz-viz.svg?branch=master )] ( https://travis-ci.org/sepe81/lvz-viz )
43![ GitHub license] ( https://img.shields.io/github/license/CodeforLeipzig/lvz-viz.svg )
5- [ ![ Code Climate] ( https://codeclimate.com/github/CodeforLeipzig/lvz-viz/badges/gpa.svg )] ( https://codeclimate.com/github/CodeforLeipzig/lvz-viz )
6-
74[ ![ Java CI with Gradle] ( https://github.com/CodeforLeipzig/lvz-viz/actions/workflows/java_ci.yml/badge.svg )] ( https://github.com/CodeforLeipzig/lvz-viz/actions/workflows/java_ci.yml )
5+ [ ![ Node CI] ( https://github.com/CodeforLeipzig/lvz-viz/actions/workflows/node_ci.yml/badge.svg )] ( https://github.com/CodeforLeipzig/lvz-viz/actions/workflows/node_ci.yml )
6+ [ ![ Build Fullstack App] ( https://github.com/CodeforLeipzig/lvz-viz/actions/workflows/build.yml/badge.svg )] ( https://github.com/CodeforLeipzig/lvz-viz/actions/workflows/build.yml )
87
98## Intro
109
@@ -13,104 +12,78 @@ Visualization of [LVZ police ticker](https://www.lvz.de/Leipzig/Polizeiticker/Po
1312The official website is hosted at < https://lvz-viz.leipzig.codefor.de >
1413by [ OK Lab Leipzig] ( http://codefor.de/projekte/2014-07-01-le-lvz_polizeiticker_visualisierung.html ) .
1514
16- ## Usage
17-
18- Build and run the app with [ npm] ( https://www.npmjs.com ) , [ Grunt] ( http://gruntjs.com/ ) and [ Gradle] ( https://gradle.org ) .
19-
20- The crawling and indexing of new articles is activated by default.
21- It can be delayed by setting the startup parameter ` --app.initialDelay=<time in ms> ` to a high value (e.g. ` 1800000 ` for 30 minutes)
22- or by setting an environment variable via ` export APP_INITIALDELAY=<time in ms> ` .
15+ ## Prerequisites
2316
24- Profiles (` dev|local|prod|test ` ) can be set by the startup parameter ` --spring.profiles.active=<profile> `
25- or by setting an environment variable via ` export SPRING_PROFILES_ACTIVE=<profile> ` .
17+ ### Node, npm or pnpm
2618
27- Please use the ` prod ` profile for production systems with a dedicated data volume (see ` docker-compose.prod.yml ` ).
19+ * ` node 22.14.0 ` or higher in combination with
20+ * ` npm 10.9.2 ` or higher or
21+ * ` pnpm 10.4.1 ` or higher, used in this repository
2822
29- ### npm and Grunt
23+ It's recommended to use [ nvm (Node version Manager) ] ( https://github.com/nvm-sh/nvm ) .
3024
31- Use appropriate node and npm version via [ nvm ] ( https://github.com/nvm-sh/nvm#nvmrc ) .
25+ Install pnpm by running:
3226
3327``` bash
34- nvm use
28+ 3529```
3630
37- Download client js dependencies with npm and package them with Grunt.
31+ This repo uses ` pnpm ` as package manager.
32+ You can also use ` npm ` for your local work but changes will be made by ` pnpm ` only.
3833
39- ``` bash
40- npm install --no-progress
41- npm run grunt-build
42- ```
34+ ### Angular CLI
4335
44- ### Gradle
36+ * ` @angular/cli 19.2.8 ` or higher
4537
46- For local development and testing you need to startup elasticsearch via [ docker-compose ] ( https://docs.docker.com/compose/ ) .
38+ Install @ angular/cli by running:
4739
4840``` bash
49- docker-compose up -d elasticsearch
41+ pnpm install -g @angular/cli@19
5042```
5143
52- You can build and test an executable jar with gradle.
44+ ### Java
5345
54- ``` bash
55- ./gradlew build
56- ```
46+ * ` jdk 17 ` or higher
5747
58- You can run a specific test with gradle.
48+ ### Docker (when running services within docker)
5949
60- ``` bash
61- ./gradlew test --tests * CrawlSchedulerTest
62- ```
50+ * ` docker 28.0.2 ` or higher
51+ * ` docker compose v2.34.0 ` or higher
6352
64- You can build an executable jar with gradle and run it as a separate process.
53+ ## Getting started
6554
6655``` bash
67- ./gradlew assemble
68- java -jar build/libs/lvz-viz-* .jar --spring.profiles.active=local
56+ # clone project
57+ git clone https://github.com/CodeforLeipzig/lvz-viz
58+ cd lvz-viz
6959```
7060
71- Or you can simply run the project within gradle during development.
61+ ### Read more
7262
73- ``` bash
74- export SPRING_PROFILES_ACTIVE=local
75- ./gradlew bootRun
76- ```
63+ Check the documentation for each module/component.
7764
78- ### Docker
65+ For frontend check [ lvz-viz - frontend ] ( ./frontend/README.md ) .
7966
80- You can build and run the app within a Docker container .
67+ For backend check [ lvz-viz - backend ] ( ./backend/README.md ) .
8168
82- Required version for the multi-stage build: Docker 19.03+
69+ For docker check [ lvz-viz - docker ] ( ./README_docker.md ) .
8370
84- ``` bash
85- -- Build or rebuild services
86- docker-compose build
87- -- Create and start containers
88- docker-compose up -d
89- ```
71+ ### Install Tools
9072
91- ``` bash
92- -- Build services and start containers with dev profile
93- docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d --build
94- ```
73+ Some tools are both used by backend and frontend.
74+ Run the following command to install:
9575
9676``` bash
97- -- Build services and start containers with prod profile
98- docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d --build
77+ pnpm install
9978```
10079
101- ``` bash
102- -- View output from containers
103- docker-compose logs -f
104- ```
80+ ### Starting the application
10581
106- ``` bash
107- -- Stop and remove containers, networks, images, and volumes
108- docker-compose down
109- ```
82+ For development, you can use two separate terminals to start the backend and frontend separately.
83+ You can find more information in the README files in the separate folders.
11084
111- ## Maintenance
85+ You can also use the following command in the root directory to start in a single terminal:
11286
11387``` bash
114- -- Display dependency updates
115- ./gradlew dependencyUpdates
88+ pnpm start
11689```
0 commit comments