Project Overview
A quick overview about the project.
Agile Software Development
The development process is loosely based on the scrum process. It should be considered as a raw guideline. You can find more information here: Scrum
We have Sprint Meetings. The work to be performed in the Sprint is planned at the sprint meeting. Also, this meeting is there to showcase your work in the last sprint. Usually, there is a meeting every 1 to 2 weeks. Important to notice, every meeting is to be recorded in a protocol. You can find templates in the common repository.
Teams are independent. It is recommended that all teams should set up internal meetings for discussions regularly.
System Scope
The app is not only for students, it is for any people working, living or visiting the university ulm. It should be considered as a campus companion app. Makes your campus life smarter and easier by supporting you with campus relevant informations, like public transit schedules, canteen meal plans, indoor navigation, FAQ’s and much more.
The system won’t have log-in mechanics nor information about grade-related or exam-related topics.
Project Structure
The UniApp project aims at providing support for everybody in touch with Ulm University. To make this support easily available, it was decided to implement a mobile app offering fast support and information about important aspects on the campus.
At the start of the project, cross-platform development tools were already a thing. However, it was decided to implement natively for both Android and iOS for teaching reasons. Additional to the two apps the project needed a central point of information so both apps would operate with the same data. For this, it was decided to provide a Backend with a RESTful API from which both apps would get their data. To ensure that the provided data on both platforms is actually the same, the Android and the iOS application get their data from the same REST API.
The backend acts as the single point of truth and provides all needed data for both apps. This also includes data retrieved from external sources, such as the DING service.
The apps use local caches to provide offline usability.
Further details for each platform can be found in the corresponding development documentation (Android, iOS, Backend).
Repository Descriptions
Todo
check if links refers to right resources and possibly give more information
Repository |
Description |
---|---|
A private repository which contains this documentation, meeting minutes, and other media which is important for the developers or the participating students. |
|
Source code of the Android client of the UniApp. Check out following documentations to contribute: |
|
Source code of the iOS client of the UniApp. Check out following documentations to contribute: |
|
Source code for the main backend of the UniApp. The features FAQ, News & Events, Canteens, Bulletin Board, Public Transit and Feedback are located here. Check out following documentations to contribute: |
|
Source code for the Map API. This API handles all request regarding map provisioning or navigation. |
|
The configurations and auto-deployment of operation software is versioned in this repository. Check out System Administration for more information. |
|
Once this was a frontend for ticket management. The frontend is not supported by the backend at the moment. |
|
Is the source code for a converter tool. Map data from OpenStreetMaps is downloaded in |
|
Is a preconfigured fork of Sentry Onpremise <> to simplify and automize deployment. |
|
Is a fork of VTM. VTM is a Java library for vector-tile rendering in context of maps. This fork provides a fixed version of the VTM library for the build process of the Android client. |