The Official HackRU Flutter App
Feel free to show some ❤️ and ⭐ the repo to support the project.
What is the purpose of this project?
A cross-platform mobile application for hackers, organizers, mentors, and sponsors at the HackRU. HackRU is a 24-hour hackathon at Rutgers University. Hackers would be able to get announcements, a QR code for checking, food, t-shirts, as well as see the schedule and map for the hackathon. Organizers & Volunteers would be able to scan hacker's qr code for check-in, food, t-shirts, etc. In backend, we utilize qr scanning data for analytics that can be used after or even during the hackathon. Any more ideas to expand this project are always welcome.
How did this project come to be?
We had started using an inhouse hybrid mobile application to keep track of analytics to get a better idea of how certain aspects of the hackathon were running such as food consumption and optimization for checkin. This project expanded into a public native mobile application so hackers had easier access to their QR code as well as organizers with their scanners. Additional information of the hackathon were incorporated so that everyone would be able to stay up to date on events that are happeneing wherever they may be in the venue.
Most of the recommended lints directly implement the guidelines set out in Effective Dart. In a few cases the lints are stricter than the style guide for the sake of consistency.
List of Linter Rules
linter:
rules:
- always_declare_return_types
- always_require_non_null_named_parameters
- annotate_overrides
- avoid_empty_else
- avoid_init_to_null
- avoid_null_checks_in_equality_operators
- avoid_relative_lib_imports
- avoid_return_types_on_setters
- avoid_shadowing_type_parameters
- avoid_types_as_parameter_names
- camel_case_extensions
- curly_braces_in_flow_control_structures
- empty_catches
- empty_constructor_bodies
- library_names
- library_prefixes
- no_duplicate_case_values
- null_closures
- omit_local_variable_types
- prefer_adjacent_string_concatenation
- prefer_collection_literals
- prefer_conditional_assignment
- prefer_contains
- prefer_equal_for_default_values
- prefer_final_fields
- prefer_for_elements_to_map_fromIterable
- prefer_generic_function_type_aliases
- prefer_if_null_operators
- prefer_is_empty
- prefer_is_not_empty
- prefer_iterable_whereType
- prefer_single_quotes
- prefer_spread_collections
- recursive_getters
- slash_for_doc_comments
- type_init_formals
- unawaited_futures
- unnecessary_const
- unnecessary_new
- unnecessary_null_in_if_null_operators
- unnecessary_this
- unrelated_type_equality_checks
- use_function_type_syntax_for_parameters
- use_rethrow_when_possible
- valid_regexps
$ pub global activate dart_style
$ dartfmt <file_name>.dart
(for a specific file)
First, install Flutter and Dart on your machine by following these guidelines: Get Started
git clone https://github.com/HackRU/OneAppFlutter.git
cd OneAppFlutter
(find OneAppFlutter directory on your machine)flutter doctor
(make sure everything is installed correctly)flutter pub get
(it's likenpm install
)flutter run
(it's likenpm start
)
- Creat a new
git branch <name-branch>
+git commit -am "new updates"
+git push origin <name-branch>
and then make a pull request. - Make sure you follow Style Guides as mentioned above
- Contributors should also follow Git Style Guide
To learn about Flutter App Development:
- Flutter Website: https://flutter.dev
- Libraries: https://pub.dev
- Lab: Write your first Flutter app
- Cookbook: Useful Flutter samples
- [Official Documentation: (https://flutter.io/docs)], which offers tutorials,
- [Learn Flutter Class: (https://www.appbrewery.co/courses/intro-to-flutter)] samples, guidance on mobile development, and a full API reference.
- ⭑ (Recommended) Working Examples+Tutorials+Libraries [https://github.com/Solido/awesome-flutter]
- also have command line dart installed
- setup test users and use the test endpoint in hackru-service
export LCS_USER="<username>"
for LCS_USER, LCS_PASSWORD, LCS_USER2, LCS_PASSWORD2
- lcs user should have the director role
cd lib && dart test.dart
- For Android: Search for
HackRU
app - For iOS: Search for
HackRU Official
app