Skip to content

1. Introduction and Goals

This chapter describes the relevant requirements and the driving forces that influence the software architecture and development processes. The arc42 template specifically mentions the following aspects:

  • underlying business goals, essential features and functional requirements for the system,
  • quality goals for the architecture,
  • relevant stakeholders and their expectations
Priority System goal
1 The system must enable users to search for gas stations in their area.
2 The system must visualize the gas price for Diesel, E5 and E10 fuel types in a listing as well
3 The system should enable the user to track their fuel usage for multiple cars
4 The system must store the user data persistently

1.1 Requirements Overview

Tanker24UC1 - Search gas price in areaUC2 - Get detail information for gas stationUC3 - Track fillingUC4 - Export user dataUC5 - AuthenticateUC4.1 - Export as JSONUC4.2 - Export as csvUC6 - Add car to user accountUC7 - List gas stations by distanceGerman car driverLegendpalegreenMain use casegrayAdditional use case«include»«include»«include»«extend»«extend»
Tanker24UC1 - Search gas price in areaUC2 - Get detail information for gas stationUC3 - Track fillingUC4 - Export user dataUC5 - AuthenticateUC4.1 - Export as JSONUC4.2 - Export as csvUC6 - Add car to user accountUC7 - List gas stations by distanceGerman car driverLegendpalegreenMain use casegrayAdditional use case«include»«include»«include»«extend»«extend»
Id Description
UC1 Search for gas stations in the given area specified by latitude and longitude parameters.
UC2 The user retrieves detailed information about a selected gas station, such as location, available fuel types, and current prices.
UC3 The authenticated user records a fuel filling event, including details such as fuel amount, price, and associated vehicle.
UC4 The authenticated user exports their stored data (e.g., fuel history and vehicles) into a downloadable format for external use.
UC4.1 The authenticated user exports their data in JSON format for structured data processing or integration.
UC4.2 The authenticated user exports their data in CSV format for easy use in spreadsheet applications.
UC5 The user logs into the system to access protected features and manage personal data.
UC6 The authenticated user adds a new vehicle to their account to associate it with fuel tracking activities.
UC7 The user views a list of gas stations sorted by proximity to a specified location.

1.2 Quality Goals

The ISO 25010 specifies the eight quality goals for software applications. They are: Functional Stability, Reliability, Security, Maintainability, Performance Efficiency, Operability, Compatibility, Transferability.

Prio Quality Goal Description
1 Functional Stability The software shall cover all specified main use cases.
2 Reliability The software shall seamlessly recover from tankerkoenig API outages.
3 Security The software shall protect the collected user data with authentication.
4 Transferability The software shall allow the user to transfer their collected user data (filling data) into JSON and CSV.

1.3 Stakeholders

External Stakeholders

Role/Name Needs Expectations
German car driver Find the cheapest gas station in their area. Accurate and up-to-date fuel prices, fast search results, and easy comparison of nearby stations.
Foreign drivers new to Germany Find the closest gas station to their location. Simple and intuitive interface and integration into common navigation apps.

Project Stakeholders

Role/Name Needs Expectations
Project team (students) Demonstrate software quality assurance methods on a real-world application. Practical experience with arc42 documentation, ADRs, TDD, CI/CD, code quality tooling, and modern web frameworks.
University supervisor Evaluate the team's application of SQA concepts. Code coverage ≥80%, complete arc42 documentation, functioning CI/CD pipeline, quality gate enforcement, and traceable architecture decisions.
Open-source community Understand, reuse, and extend the project. Well-structured code, comprehensive documentation, clear contribution guidelines.
Administrator / Operator Deploy and maintain the application. Simple deployment process (docker compose up -d), health monitoring, clear environment configuration, and logging.