-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
36 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,43 @@ | ||
# bstevr_assessment | ||
|
||
BSTEVR assessment. | ||
BSTEVR Assessment. | ||
|
||
## Getting Started | ||
## How To Run | ||
|
||
This project is a starting point for a Flutter application. | ||
You can run this Flutter app through Android Studio by simply opening the project and tapping the run button. | ||
|
||
A few resources to get you started if this is your first Flutter project: | ||
## Contents | ||
|
||
- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab) | ||
- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook) | ||
The app has two screens and one unit test. | ||
|
||
For help getting started with Flutter, view our | ||
[online documentation](https://flutter.dev/docs), which offers tutorials, | ||
samples, guidance on mobile development, and a full API reference. | ||
Screens: | ||
<img src="https://user-images.githubusercontent.com/4191018/135350217-8f6b5e5e-c66a-481e-8af6-62c696c38dbc.jpeg" width="350" /> <img src="https://user-images.githubusercontent.com/4191018/135350046-7a6444d3-d9f4-4a9a-8bb8-761914e28f00.jpeg" width="350" /> | ||
|
||
Alphabet Tree Unit Testing: | ||
![Alphabet Tree Unit Testing](https://user-images.githubusercontent.com/4191018/135350503-9ac4ddf5-5b70-4c61-b746-0f763560be52.png) | ||
|
||
## Assessment Details | ||
|
||
### 1- Alphabet Trees | ||
|
||
* Write a class that creates an AlphabetTree of any size or length.Add a method to the class which accepts another alphabet tree, compares the data of the two trees and prints all the unique letters within the two trees, in alphabetical order. | ||
* Write unit tests for the code. | ||
|
||
### 2- Automated Coin Detector | ||
|
||
* Create a stream that randomly returns the string Real or Fake once every 3 seconds. | ||
* Using this stream, create an app with a scrollable list of expandable widgets that gets updated every time a new value is received. | ||
* For each new value, the list should be populated with a new expandable widget at the top, with only the value visible. The widget should push the existing list items down, and animate into its position; it should slide and fade in from the right. | ||
* If the value is Real, a sound effect (see below) should be played. | ||
* The title of the app should update to the last value received. | ||
* There should be a “Play/Pause” toggle button in the header that would pause/resume the stream. The button should animate between the two states. | ||
* Upon tapping one of the list items, the item should expand to show the time passed since the value was received (34s ago, 2m ago, 1h ago, etc). | ||
* The item should animate upon expansion/contraction and play the sound effect if the value is Real. | ||
* If the app is run in Debug mode, it should also print the value to the Console. | ||
|
||
### 3- Speed Prototyping | ||
|
||
* Set a timer for 30 minutes. | ||
* Start the timer and try to build the screen below as accurately as possible. | ||
* Focus on the structure, not the content. Improvise where needed. | ||
* Above all, make sure the code runs when the timer is over. |