Flutter App for MetroHacks Hackathon
What is MetroHacks?
MetroHacks is an interscholastic hackathon that brings together high school kids from all walks of life who have a drive to build. Since its inception in 2016, any high school student in the region has been able to take advantage of the resources of a full-fledged collegiate hackathon. They took part in Machine Learning and Node.js sessions.
App Showcase – YouTube
Final Source Code – GitHub
To execute the project, download the code on the main master branch and unzip the folder. Open Android Studio -> File -> Open, and find the extracted folder (This should have an Android logo on the file). Make sure to have Dart SDK and any Flutter comilation plugins/SDKs required to run the project (Prefered versions: Flutter v2.2.1 and Dart 2.13.1). Ensure that full Flutter and Dart support is available on your machine and Android Studio (Android Studio Plugin Installation: File -> Settings -> Editor -> Plugins -> Marketplace -> Flutter -> Install). Additional support and any potential issues are discussed below.
Dart and Flutter Support: Dart support must be enabled on the project. To do this, install Dart support by installing Flutter located on the Flutter site and installing the Flutter plugin on Android Studio. The SDK should be in .zip located in the ../bin. Once everything is setup, you should be prompted by a blue overlay to enable Dart support unless it is already enabled. From there, a ‘pub.get has not been run’ message might appear. From there just ignore the message and debug on an emulator as the required pub dependencies will installed automatically on compilation. To preview the code, please locate the code specifications and dependency installations below.
If the application crashed on startup and the error is due to something related to geological.dart, please allow locational access to the application when prompted to or change it in settings and go to the emulator settings and set a location (Three Dots -> Location -> Select Your Point on map -> Set Location). From there, close out of the app and rerun. (Do not rebuild/recompile as the location will be wiped. Just exit the app and press the icon again on the emulator)
Any unexpected erros may occur due to emulator discongruency or depreciated imports. (Emulators used in debugging are sdkgphone x86 arm (mobile) and Android Emulator Pixel 3a API 30 x86) Please use the ones discribed below and their specific versions. This should be imported directly by default on compilation of the app. Additional information about dependencies located below.
Flutter project location is under libs. This holds all of the code we created.
Additional Dependencies Located in pubspec.yaml.
name: hackathon_11_21_21 description: Volunteering app made at Metro Hacks environment: sdk: ">=2.12.0 <3.0.0" dependencies: flutter: sdk: flutter cupertino_icons: ^1.0.2 shared_preferences: ^2.0.7 date_format: ^2.0.4 google_maps_flutter: ^2.0.9 geolocator: ^7.7.1 geocoding: ^2.0.1 dev_dependencies: flutter_test: sdk: flutter firebase_core: firebase_auth: cloud_firestore: firebase_storage: flutter: uses-material-design: true
This project is a Flutter application that allows a community to create local volunteering options, both online and virtually, and gives students the ability to sign up for them. Organizers have the ability to verify a student’s presence, view attendees, and perform various admin powers. Login and signup handled under a Firebase Authentication system and all additinal objects stored under a Firebase Database system.
A few resources for Flutter Documentation:
Official Flutter Documentation, online documentation, offers tutorials, samples, guidance on mobile development, and a full API reference.
Compiler and Emulator used: Android Studio
Firebase (Directly redirects to volunTEEN console which might be private. Direct access to the volunTEEN Firebase is not required): Firebase
Younger than 18 years old (< 18):
Michael Liu (Freshman)
Kelsey Sun (Junior)
Eshan Singhal (Junior)
Angela Yang (Sophmore)
Source Code: Volunteering App at MetroHacks.