TUM-Dev / campus_flutter

Development of the cross-platform TUM Campus App with Flutter - for and from students at Technical University of Munich.
https://tum.app/
GNU General Public License v3.0
44 stars 6 forks source link
munich open-source students tum university

xcodebuild xcodebuild

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

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. We would appreciate your feedback regarding bugs and improvement suggestions!

Policies

Support

You can reach us on 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 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
Xml2Json Fix Parsing of XML to JSON https://github.com/jakobkoerber/xml2json
flutter_linkify Fix Selection Menu and Text Scaling https://github.com/jakobkoerber/flutter_linkify