Skip to content

student-hub/acs-upb-mobile

Repository files navigation

ACS UPB Mobile

License Linter Tests codecov extra_pedantic on pub.dev

Facebook Instagram

A mobile application for students at ACS UPB. For now, you can try it out by accessing https://acs-upb-mobile.web.app/ or download it from Google Play by pressing the button below. Android users can also download the apk from the latest release.

Please note that some features may not work perfectly in the web version, as the app is designed to work better natively. However, please feel free to create an issue if you encounter any problem.

If you would like to contribute and don't know where to start, or you have any questions about this project, feel free to send an e-mail at [email protected].

Demo

Demo.mp4

Contributors

Building from source with Android Studio

Prerequisites

  • Install Flutter as per the instructions here.
  • Open Android Studio.
  • Make sure you have the Flutter plugin installed, as well as the Dart plugin dependency. Restart the IDE if necessary.
  • Use the Check out project from Version Control option (or File > New > Project from Version Control) to clone the repository from https://github.com/acs-upb-mobile/acs-upb-mobile.
  • If the plugins are installed, Android Studio should automatically recognise it as being a Flutter project, so you should be able to just click Next on everything and create a new project.
  • When prompted, set up the Flutter SDK (the location is the flutter/ folder you downloaded when you installed it) and Dart SDK (it comes bundled with Flutter at flutter/bin/cache/dart-sdk/).
  • Open a terminal in the Flutter SDK directory and switch to the version we are currently using for the project:
git pull
git checkout 1.24.0-10.2.pre
  • Open the project terminal in Android Studio and install all of the required packages by running:
flutter pub get
  • You may need to restart the IDE for the changes to take effect.

Building for Android

  • Install and run an emulator in Android Studio (using AVD Manager), or connect a physical Android device (make sure USB debugging is enabled, and your cable supports data transfer).
  • Select your device from the dropdown list and hit the play button (Shift+F10 or ^R). Note that Android Studio runs the app in debug mode by default.
On Android, ACS UPB Mobile uses a separate (development) environment in debug mode. That means a completely different Firebase project - separate data, including user info.
💡 In order to try the release (production) version, the recommended approach is to download an APK from the Releases page. If you really need to test the release version from AS (make sure you know what you're doing), you need to change the signingConfig signingConfigs.release line to signingConfig signingConfigs.debug in android/app/build.gradle, and then run flutter run --release. Do note that the release version cannot be ran on an emulator.

Building for iOS (MacOS only)

  • Make sure you have Xcode installed and up to date (it is free on the App Store).
  • Connect a physical iOS device or select Open iOS Simulator from the device drop-down menu to power on Xcode's simulator.
  • Select your device from the dropdown list and hit the play button (^R).
💡 Running the app in debug mode is recommended for testing. To do this, run ./run-ios-flavor.sh dev. Similarly, if you need to run the release version (not recommended), you can run ./run-ios-flavor.sh prod.

Building for Web

  • You need to have Chrome installed in order to be able to run the web version of the app.
  • Select Chrome from the dropdown list and hit the play button (Shift+F10 or ^R).
💡 Running the app in debug mode is recommended for testing. To do this, replace firebaseConfig.release with firebaseConfig.debug in the web/index.html file.

Not working?

Possible fixes could be:

  • Run flutter doctor and fix any issues that may come up (make sure you're using the right Flutter version for the project, see Prerequisites).
  • Run flutter clean to delete the build directory and then build again.
  • Restart Android Studio using File > Invalidate Caches / Restart.

Test your setup by creating and running a new Flutter project (Android Studio provides a sample). If that works but this project doesn't, feel free to open an issue and describe the problem.

License

This project is under the MIT License, which means that you can do whatever you want with it, as long as you add a copy of the original MIT license and copyright notice to your work.