FHS Mobile App Development
Date of submission: 2/28/20
Welcome to ChapterTree, an amazing app that allows you to seamlessly manage your chapters! ChapterTree is designed to provide users with a platform to record event information, track chapter attendance, communicate with other FBLA members, talk with our intelligent ChatBot, and learn more about FBLA. Additionally, the app implements API's that enhance the user experience by communicating with our database, implementing google maps, and providing a real time data flow that dynamically updates information that the user needs.
This application was programmed completely in Google's Flutter Framework.
- Native performance on both iOS and Android
- Fully responsive and adaptable UI to any screen dimensions
- Robust backend for Authentication, Cloud database, Cloud Storage
- Built-in encryption on database for user passwords
- Email/Password and Face ID login for extensive accessibility
- Google sign-in for convenience and accessibility
- Sends email to user upon sign-up
- Powered by Node.js backend and Cloud Functions
- Beautiful dashboard to view, sign-up, remove local and national events
- Harnesses the power of cloud data persistence
- Social Media Integration to share on many platforms such as Facebook, Twitter, Messenger, Messages, and much more!
- Dynamic calendar to add events seamlessly
- Only chapter leaders can track attendance
- Google Maps API integration to view user's location event destination through markers
- Google Maps Distance Matrix API integration to view driving distance and time needed to reach event
- Utilizes Machine Learning on historical traffic data, weather conditions, and more to provide precise metrics
- Built-in navigator to view directions in Google Maps
- Seamless integration for meeting attendance
- Only chapter leaders can track attendance
- Employs cloud data persistence
- Embedded Web Viewers to learn more about FBLA
- Global Messaging FBLA Portal
- Users can ask questions, learn more about FBLA, and much more
- Powered by Cloud Storage Streaming
- Smart Assistance AI Powered FBLA Chatbot
- Answers all questions pertaining to FBLA (e.g. what is the dress code for FBLA?)
- Powered on Google's Neural Networks that perform Natural Language Processing (NLP)
- Contact us form
- Integrated with Gmail API to send email directly to ChapterTree's gmail account
- Settings page for viewing user profile
- Dark mode
- Officer SMS notification
- Seamless way to send meeting reminder notifications to all chapter members in a single click
- Smart Analytics and data aggregation on user metrics such as User Retention
The following are the most effective methods to run ChapterTree on your device.
- Download XCode from the Mac OS App Store.
- Create a free account on the Apple Developer Portal.
- Once you are signed in, consult the Xcode Deployment Section below.
Prerequisites
Device with IOS 9.0 or above (Emulator Works!)
- Note : If you have IOS 13.31 or above, you cannot run the app with a free developer account!
- Download Intellij from https://www.jetbrains.com/idea/.
- To install the Flutter Plugin:
- Start Android Studio.
- Open plugin preferences (Preferences > Plugins on macOS, File > Settings > Plugins on Windows & Linux).
- Select Marketplace, select the Flutter plugin and click Install.
- Click Yes when prompted to install the Dart plugin.
- Click Restart when prompted.
Once you are set up in, consult the IntelliJ Deployment Section below.
Prerequisites
Device with Android SDK 20 to 28 (Emulator Works!)
- Open up the folder where ChapterTree is downloaded and open up
Runner.xcworkspace
- Right when you open up
Runner.xcworkspace
you may get an error regardingSigning and Capabilities
- To fix this, go to the tab
Signing and Capabilities
and select a team. The error should go away after this. - You can now view all the iOS code project files and dependencies
- To run the app, connect a USB-C to lighting cable from your computer to your phone. You should see your device show up as shown below:
- After the application opens and the Build Succeeds you will be prompted to the login screen
- Login with the credentials:
- email:
[email protected]
- password:
fbla123
- Note: These credentials have special privileges as a chapter leader such as taking attendence and adding events to the calendar
- Feel free to explore the app and refer to our
Core Features
for the full list of our app's functionalities - If you experience a bug in the app, feel free to
Report a Bug
under theQuestions
tab of our app.
- Open the unzipped project in IntelliJ
- Configure the Dart SDK
- Open the project.
- Click on
packages get
or runflutter packages get
in the terminal. - Make sure you configure any Android Frameworks if neccessary.
- Go to the
devices
tab and make sure your device is selected. - Click on the green button and
run
the app. - You should see
Running Gradle task 'assembleDebug'
. - Login with the credentials:
- email:
[email protected]
- password:
fbla123
- Note: These credentials have special privileges as a chapter leader such as taking attendence and adding events to the calendar
- Flutter
- Dart
- Node.js
- Nodemailer
- Dialogflow
- Google Cloud Platform
- Firebase Authentication
- Firebase Cloud Firestore
- Firebase Cloud Storage
- Firebase Cloud Functions
- Firebase Crashlytics
- Firebase Performance Monitoring
- Google Analytics
- flutter_sms
- http
- permission
- google_map_polyline
- shared_preferences
- table_calendar
- location
- geolocator
- intro_slider
- local_auth
- flutter_dialogflow
- google_maps_flutter
- google_sign_in
- webview_flutter
- flutter_icons
- url_launcher
- flutter_email_sender
- modal_progress_hud
- cloud_firestore
- firebase_auth
- firebase_core
- animated_text_kit
- snaplist
- giffy_dialog
- flappy_search_bar
ChapterTree is licensed under the MIT License - Please view LICENCE for more details
- Login and Signup user authentication powered by Firebase and consistent with their API usage policies
- Facebook Logo used for application graphics with explicit permission from Facebook Brand Resources.
- Twitter Logo used for application graphics with explicit permission from Twitter Brand Resources.
- Instagram Logo used for application graphics with explicit permission from Twitter Brand Resources.
- Google logo used for application graphics in accordance with Google Trademark Policy.
- The App Store, Xcode, iPad, iPhone, and IOS are all registered trademarks of Apple Inc.
- The following image acknowledgements are in accordance with the Google Images copyright policy.
- "Colusa" image from Google
- "Los Osos" image from Google
- "Ontario" image from Google
- "Pasadena" image from Google
- "Redwood" image from Google
- "SaltLakeCity" image from Google
- "Valencia" image from Google
- "Westmoor" image from Google
- "TreeIcon" image from Google
- "GoogleLogo" image from Google
- The following image acknowledgements are in accordance with the Undraw license.
- "Attendance" image from Undraw
- "Calendar" image from Undraw
- "Events" image from Undraw
- "Map" image from Undraw
- "Messages" image from Undraw
- Aryan Vichare - User Interface (UI), Backend, Database, API integration, Server Side Code
- Soham Manoli - User Interface (UI), User Experience (UX), API integration