/Campus-Flutter

Development of the cross-platform TUM Campus App with Flutter - for and from students at Technical University of Munich.

Primary LanguageDartGNU General Public License v3.0GPL-3.0

xcodebuild xcodebuild Discord Channel

Tum Campus App - An Unofficial Guide Through University Life

The TUM Campus App (TCA) is an open source project, developed by volunteers. This repository is dedicated to the development and transition to Flutter and currently in Beta.

The application mostly targets phones, but can also be used on tablets, Macs and in your browser. We currently support iOS, iPadOS, macOS and Android.

Features

  • Calendar Access
  • Lecture Details
  • Grades
  • Tuition Fees Information
  • Study Room Availability
  • Cafeteria Menus
  • Room Maps
  • Universal Search: Room
  • TUM.sexy Redirects

Beta

If you want to participate in the beta of this app, enter your details here to get invited via TestFlight or here to get invited via the Google Play Beta Program. You can also test the preliminary web app. We would appreciate your feedback regarding bugs and improvement suggestions!

Policies

Support

You can reach us on Discord, GitHub or via E-Mail app@tum.de

Development

To develop this project, you need these dependency's installed. If you have any problems with any of the steps below, please open an issue. Please refer to the respective installation instructions:

Dependency Usage where to download it
Flutter (includes the Dart compiler) SDK to develop this app https://docs.flutter.dev/get-started/install

Updating the .proto files of the

To update the generated stubs for the Campus, you need protoc installed, then activte it in dart and then you can generate the new client

dart pub global activate protoc_plugin
export PATH="$PATH:$HOME/.pub-cache/bin"
curl -o protos/tumdev/campus_backend.proto https://raw.githubusercontent.com/TUM-Dev/Campus-Backend/main/server/api/tumdev/campus_backend.proto
protoc --dart_out=grpc:lib/base/networking/apis -I./protos google/protobuf/timestamp.proto google/protobuf/empty.proto protos/tumdev/campus_backend.proto 

Current needed Forks

To ensure that Campus-Flutter runs on every supported platform, we need to make some modifications to packages.

Package Reason Link
gRPC Caching https://github.com/jakobkoerber/grpc-dart
Google Maps Flutter iOS Enable usage of SDK in ARM iOS Simulators https://github.com/jakobkoerber/packages
Xml2Json Fix Parsing of XML to JSON https://github.com/jakobkoerber/xml2json