Code Monkey home page Code Monkey logo

brain-exercise's People

Contributors

03hchen avatar arthelon avatar bat-kryptonyte avatar beanybeans avatar chrisjobando avatar developerkhan avatar fattimo avatar its-edmund avatar jackdimarco avatar jamesli12 avatar jaynagpaul avatar johannesq23 avatar jorge-e-aquino avatar luke9kim8 avatar maheshnat avatar mp185344 avatar mp360 avatar samarth52 avatar shopaniuk avatar sjacob2019 avatar thanasis457 avatar tmthecoder avatar tonykim24 avatar tylerttam avatar vidushimaheshwari avatar xenonmolecule avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

brain-exercise's Issues

Create User Data Model for Mongoose

Mongoose needs a data model for the user which includes profile information.

Acceptance Criteria:

  • There should be a data model that has the following data: name, phone number, date of birth, and hashed password

[UI] Settings screens looks strange

Notifications, Font Size, Sounds, Animation are the main settings to change but as the font size increases, it is harder to differentiate between Notifications and the two sub-options "Daily Reminder" and "Set Reminder Time" . Is there any way we can differentiate the Notifications, Font Size, Sounds, Animation more clearly?

Replace the brain guy

Sent in Slack, please change the home screen with updated brain dude so it's more clear.

[UI, All Screens, iOS] Disable dynamic type on BEI application

image

Most seniors will most likely have larger text enabled on their iPhone, and if our app supports Apple's Dynamic Type in addition to our own accessibility feature, then it will increase our font size way too much like the picture. This is max size of the BEI app + max size of Text Size in iOS.

Countdown Timer (Final Countdown Dev)

The time left remaining bar should be proportional to how much time is left relative to the total time
This component will get imported by the Math, Reading, and Writing Screens so reusability is important. The component should accept three props: time duration for the timer, time that the timer is red, and a function to be called when time is up.

[UI, Math Game, Android] Text content is hidden by Navbar, other styling issues

image

There are a couple of style issues in this screen:

  1. Answer notif text "You're so quick! Keep going" is in an awkward position and is not styled at all (needs to be bigger and centered)
  2. Margins and padding of elements on the screen do not match the Figma designs. There is a lot of unused whitespace
  3. Text content is hidden by Navbar.

Make sure this is tested on both Android and iOS

More Math Functionality (Cooler Math Team)

Once the user enters the math screen, a timer should automatically start for 5 minutes. This timer is hidden from the user.

When the user taps on an answer, the button should turn blue and text should appear above it with a message. There should be a different message depending if the answer is correct (“Correct! Great job!”) or false (“You’re so quick! Keep going!”).

The time it takes the user to finish answering the question should be recorded in state (e.i. The difference between when the answer is pressed and when the question initially appears). We will use this data for a future task.

Remove the cascading problems

They're too complicated, and aren't obvious that they're "cascading". It seems to frustrate the user more than amuse them.

Progress Bar Logic

Now that the home screen design has been completed and the progress bar is being displayed, we want to implement the logic for the progress bar.
For a Monday-Sunday week, each time they complete the exercise task for the day, it should add another segment of progress in the progress bar. This progress should be cleared at the beginning of each new week (on Monday). At 1 of 5 days, the progress bar should be “empty” and say “Let’s Get Started!” underneath. At 2-4 days, the progress should have x - 1 segments filled in and it should say “Keep Going!” underneath. At 5 days, the progress bar should be completely full and say “Well Done!” underneath.

Implement Question Skipping

Some of the questions that are being asked are very difficult and we would like a way to skip the current question.

Acceptance Criteria:

  • Should be a button that is below the provided answers which allows the user a button to skip to the next question. If this is implemented after #134, skipped questions should be counted as incorrect.

Math Dynamic Difficulty

We currently have the ability to generate questions based on difficulty level, however, we currently are randomly choosing the difficulty level.
We want users to have a personal “difficulty score” that persists in local async storage and gets adjusted based on correctness and time it takes per problem. This difficulty score will be a number between 100-499. Difficulty level 100-199 will get mapped to difficulty 1, 200-299 will get mapped to 2, etc.

Accuracy Logic for Reading

We will be using Speech to text so logic to determine accuracy of the reading will be needed. What they read out will be compared to the original text

Writing Section (Trivia Team)

Once the user enters the writing section, they should be prompted with questions that they have to write down and answer.

Here are some sample questions and answers to use: “What is the capital of Brazil? Brasilia”, “What is the biggest state in the US? Alaska”, “What is the most popular language spoken in Switzerland? Swiss-German”, “What is the most populous state in the US? California”. Similarly to the reading section, these questions should exist in a file called trivia.js in the assets folder.

Using the timer functionality, keep track of the time (5 minutes) and when time is up the Next button will finish the writing section instead of going to the next writing question.

Pause Button Team (Team HoldUp)

Make a pretty pause screen! Work with the Cooler Math team to stop/start the timer when the pause screen is opened or closed.

Afterwards, use AppState from Expo to automatically pause the game if you leave the app (or get a phone call):

Change writing (trivia) instructions

The updated writing (trivia) instructions are quite long, especially with higher font sizes, it takes up a lot of the screen. Time permits, change to:

  • Writing (Trivia) screen saying "Grab some paper and a pencil and write what you see"
  • Boom squad can add the grab.mp3 for both screens so there are consistent voice instructions
  • Add a simple screen following the Writing (Trivia) that says "Writing is a great way to exercise your brain so please write each trivia question first before answering."

Data Persistence (Anti-Alzheimer's Task Force)

This team will be responsible for saving settings data into local memory. Create a settings preferences object and assign it to a key using AsyncStorage.

Changing then saving the settings should update the object. When you open a screen from settings, it should pull the data from AsyncStorage and set all the components to the correct values.

Randomize game flow of reading, writing, and math

After clicking “Begin”, the user should be automatically taken to the different sections. The order of the sections should be Math, Trivia, Math, Writing, with a Reading section inserted at random.

Math Screen User Interface (Cool Math Team)

This will involve creating the UI for the Math screen and also generating wrong answers, as it will be multiple choice. If the difficulty level is an easier one, there should be three answers total (including the correct answer). If the difficulty level is a harder one, there should be four answers total.

Font Resizing

Now with a font size preference number in AsyncStorage, we can update all Text components within our app to scale based on that setting.

In order to do this, we need to make our own Text component (syntax on next slide) that takes in the initial font and scales it based on scale factor.

Also note, large text (above 30 units) should not be resized

Reading Section (Reading Peeps)

After the Math screen, the reading screen will be displayed next. Add a file in the assets folder called stories.js. This is where the stories will live and get exported from. You will have to keep track of the stories that has been read so far (you can use local async storage for this) so that a new story is selected every time, until all of the stories have been read. We are still currently working on getting the stories, so just create a sample one to use for now.
The next button will either go to the next paragraph if there is one, or it should finish the reading section of the exercise. Using the timer functionality, keep track of the time (10 minutes), and once time is up, the Next button onClick should finish the reading section regardless of if there are more paragraphs left.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.