Fun quiz app for school lecturers and students to interact with each other in and after class.
Multiple sensors are used in the app, such as Gyroscope, GPS, Calendar, Wifi and Ambient Light Sensor.
- Android Studio 4.1
- Android SDK which can be obtained when launch Android Studio first time. Version: >=2.7.0 && <3.0.0
- Flutter installation
- Android phone or emulator with API level 30 with google player services (for firebase)
For detailed installation instructions of Android studio and Flutter, please refer to their corresponding official websites. Environment variables should be configured these processes.
For details of the dependencies used in this project, please refer to the following pubspec.yaml files.
pubspec.yaml
Please run flutter pub get
in terminal every time update pubspec.yaml file.
- Backend
backend
: see README.md - Base
lib/src/base
: Contains supporting classes. - Data
lib/src/data
: Contains domain and data transfer objects. Includes: User, Quiz, Game, Group, Answer and Outcome. Please refer to the file for detailed attributes of each data type defined here. - Frontend
lib/src/ui
: Contains all UI pages. These submodules are groupings of features for code separation./about
: Acknowledgement and LICENSE pages./auth
: UI for registration and login, including joining as a participant./group
and/groups
: UI of group management, including group creation and listing. Also includes quiz tabs which allows for switching between different quiz types./notification
: Notification settings./profile
: User profile and management./quiz
andquiz_creator
: Quiz card UI, including UI of quiz creation and management./session
: Session UI pages. Contains waiting lobby page, question page, answer page, and leaderboard page./shared
: Custom components used by all UI pages.
- Sensor
lib/src/background
: Sensors implementation. - Services
lib/src/models
: Used for storing and updating logic state, and be as a middle layer servicelib/src/store
: Contains APIs that used for data transfer between server and UI pages
- Clone this repository locally.
- Open Android Studio, select File -> Open and open the root of your local repository.
- Before build and run, make sure the Android emulator is available. Select Tool -> AVD manager. Click button if there is no Android virtual machine, then follow the guideline to complete the installation, this process may take a little bit of time. After that, select and launch one emulator in the list of Android Virtual Devices Manager window.
- To build and run the app, select menu item Run -> Run and then in the popup dialog, select smart broccoli app.
flutter run