it-at-m / dave-backend

Beinhaltet die Business-Logik für Frontend, Adminportal, Selfserviceportal und EAI. Und bildet somit den Kern der Anwendung.
MIT License
2 stars 1 forks source link

Backend (Datenportal):

About the project

Dieses Repository ist eine der 5 Komponenten der Anwendung "DAVe" (Datenbank und Auswertung für Verkehrszählungen).

Es müssen nicht zwingend alle 5 Komponenten gleichzeitig verwendet werden. Allerdings bildet dieses Repository den Kern der Anwendung und ist Voraussetzung für alle anderen Bestandteile.

DAVe besteht aus folgenden Repositories:

EAI-Repository

Besonders ist die Aufteilung der Daten. Alle Daten, die relevant für die Suche sind (Stammdaten), werden in Elasticsearch gespeichert. Die Bewegungsdaten - im Fall von DAVe die Zähldaten - werden in einer relationalen Datenbank (bei der LHM: Oracle) vorgehalten. Um die Ladegeschwindigkeit zu erhöhen, werden bereits beim Speichern der Zähldaten diverse Berechnungen durchgeführt und die vorberechneten Ergebnisse zum direkten Abruf in der Datenbank hinterlegt. Hier kommt auch eine KI-Komponente zum Einsatz, die die Hochrechnung von Kurzzeitzählungen auf den ganzen Tag übernimmt (bisher nur bei Radzählungen). Die Frontends sind jeweils Vue Single Page Applications, die über ein Service Gateway mit dem Backend kommunizieren. DAVe besteht nur aus einem einzigen Spring Service.

Built with

Java 11, Spring Boot 2.7, ElasticSearch 7.17

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please open an issue with the tag "enhancement", fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

Open an issue with the tag "enhancement"
Fork the Project
Create your Feature Branch (git checkout -b feature/AmazingFeature)
Commit your Changes (git commit -m 'Add some AmazingFeature')
Push to the Branch (git push origin feature/AmazingFeature)
Open a Pull Request

Coding Conventions

We use the itm-java-codeformat project to apply code formatting conventions. To add those conventions to your favorite IDE, please have a look at the README of itm-java-codeformat.

BuildAndRun

Local requirements:

  1. Clone the Project from GitHub
  2. Configure your ElasticSearch in application-local.yml
  3. Build the Project with mvn clean install
  4. If you start it for the first time then change ddl-auto to create
  5. Run the Project with one of the scripts runLocal or runLocalNoSecurity

OR you can go straight to the dave-frontend and try out our test stack based on docker-compose.

License

Distributed under the MIT License. See LICENSE for more information.

Contact

it@m - opensource@muenchen.de