Skip to content

simra-project/result-viewer-backend

Repository files navigation

SIMRA Result Viewer Backend

Table of Contents
  1. About The Project
  2. Getting Started
  3. Project Structure
  4. Contact
  5. Acknowledgments

About The Project

SIMRA is a data-driven platform for improving cycling safety by analyzing crowdsourced ride and near-miss incident data. The project identifies high-risk areas, evaluates urban cycling infrastructure, and provides actionable insights to enhance cyclist safety.

By reporting dangerous situations and contributing ride data, users help create a safer cycling environment. The platform visualizes traffic patterns and risk areas, empowering communities and urban planners to make informed decisions.

Getting Started

Prerequisites

Before you begin, ensure you have the following installed on your local machine:

  1. Clone the repository:
    git clone https://github.com/simra-project/result-viewer-backend
  2. Edit environment variables in .env use the .env.example as a template

Deploying

To deploy and explore the application, you can use Docker Compose to set up the necessary services.

  1. Run the following command to start the services:

    docker compose up
  2. Access the api of the application at http://localhost:8080.

Development

To set up the development environment, ensure you have Java installed and follow these steps:

  1. Init database service

    docker compose up init-postgis
  2. Spin up database, cache and routing engine

    docker compose up postgis redis valhalla
  3. Run the spring boot application

    ./gradlew bootRun

Project Structure

Apps

Name Path Description
backend src/main/java The backend of the platform

Modules

The spring project is structured into several modules, each responsible for specific functionalities.

Name Path Description
osmPlanet osmPlanet Dedicated to control the entities and service logic of Open Street Map.
profiles profiles Collects and analyses anonymized user profile data to gain knowledge about the most endangered rider groups.
rides rides Reads the rides of simra-backend, uses the valhalla module to connect these to OSM street entities and serves as a mainendpoint to the frontend dashaboard.
valhalla valhalla Encapsulates the logic that interacts with the routing engine, which maps the GPS traces of the rides to the OSM Street grid.

Architectural Overview

Architecture Overview

Contacts

Role Name Contact
Project Supervisor David Bermbach TU Berlin Profile
Developer David Schmidt PortfolioGithub

Resources

Resource Type Description Link
Project Management Kanban board tracking development progress and tasks Simra Project Board
System Architecture PlantUML diagrams documenting the system design and component interactions Architecture Diagrams
Research & Publications Academic research and technical documentation related to the SIMRA initiative Research Documents
Live Demonstration Interactive dashboard showcasing real-time cycling safety analytics Simra Dashboard

(back to top)

About

The backend application for the SIMRA dashboard to analyze bicycle safety with crowdsourced ride and near miss data.

Topics

Resources

Stars

Watchers

Forks

Contributors 2

  •  
  •