rightoneducation / righton-app Goto Github PK
View Code? Open in Web Editor NEWReact Native mobile app & React web app
License: Apache License 2.0
React Native mobile app & React web app
License: Apache License 2.0
During testing phase, it'd be hard to keep starting and ending games since that requires access to two devices and soon, it'd be time consuming to test a simple scenario or fix a bug. This proposes to create a web portal where it helps with testing the app like starting a game and modifying some aspects of started game.
Relay is a library that can be used with GraphQL to improve the performance. Lets look into this library since it's about the time to start integrating with backend and see if this is something that should be used.
Add required lambdas needed by web app to integrate with the database.
This includes analyzing and coming up with the list of required APIs in addition to setting up the next steps on how to implement them.
Create jslint rule or a way to automate formatting rules
Background: To encourage students to think about the correct answer and come up with plausible / non-random trick answers, we've added a prompt for them to try to first try to guess the correct answer. If guesses at the correct answer are incorrect, an encouraging note is displayed, reminding students that answers that they thought were correct but are actually incorrect are great potential trick answers.
Since we'd like students to start thinking about the question and potential correct answers right away, please remove the spinning timer component from the Trick Answers card (and keep it for just the Hints card) -- thanks!
Integrate with backend API and fetch the data from the servers instead of using existing mock data
Expected behavior: in the non-Facilitator flow, when the Trick Answers card is first displayed, the following message should be displayed: "What do you think the correct answer is?" For the latest messages, please reference the "Student Screens - Updated Trick Answer Flow" tab in Figma.
Actual behavior: the message for Facilitators appears: "Help guide your team to guess the correct answer!" (see attached screenshot)
After changing the structure of the new database, create a new implementation that references the existing data for the games list to appear on the mobile app
"Don't Get Tricked!" screen shows "Pick the most popular trick answer for a bonus (+25)"
Screenshot on iPhone X:
"Don't Get Tricked!" screen shows "Pick the correct answer β¨to get for your team (+25)"
Screenshot from Figma (link):
In both "Last Updated" and "Alphabetical" views: When user clicks on a game card to view game details, the title of that game card should be highlighted and visible in the left pane w/o scrolling (ideally in the top / upper left of the left pane).
At the moment, there are two values need to be able to modify at runtime
There might be more options coming in. Since the implementation is in React Native, there needs to be investigation on using RN push vs. config file endpoint.
When voting results are displayed (bottom to top), the bottom row should contain the least popular answer (lowest percentage of votes) and the top row should contain the most popular answer (highest percentage of votes).
In the attached screenshot:
12/9 Build:
@sincwu we should remove the other repo
In the beginning of integrating with backend, it'd be nice to be able to create a networking library which does the API calls instead of putting all these API calls in the app and components. In addition to better separation of concerns, this can be shared with #90 to reduce the code duplication and make it easier to create debug portal.
Currently, mobile app doesn't follow any pattern for data flow and it's using mock data. As moving forward with integrating with backend APIs, the infrastructure for handling the data properly needs to be put into the place.
The top level README should not be a description of the mobile app.
WIP #85
Need to fill up the games and questions tables
In the July 14 build:
When a trickster team is entering trick answers: once a trick answer is added to the list of trick answers, it:
Please also apply this update to the "Don't Get Tricked" / voting screens where student teams try to vote for the correct answer (and try not to be tricked by the trickster team's trick answers).
In the mobile app teacher game page, there should be a details list that displays each question from their made game
In the Trick Answers card: the vertical scrolling functionality seems to get stuck at times: e.g., after a trick answer has been added, one sometimes has to wait multiple seconds to be able to scroll up & down -- the screen appears to freeze, and it'd be great if the scrolling could be more instantaneous (ideally as quick and responsive as when one swipes left/right to navigate between the Question, Trick Answers, and Hints cards).
Steps to Reproduce:
Testing was conducted on an Android device (Galaxy S7).
Overview of tasks:
I got caught in the first step because I forgot the password of the Aurora database.
The action should name the clone Clone of X
rather than Copy of X
The list of APIs is documented in here.
[ ] submitanswer
[ ] toggleanswer
[ ] selecttrickiestanswer
[ ] vote
July 14 build:
Observed:
Currently, after an incorrect/trick answer has been entered (e.g., "123" in the attached screenshot), "123" still appears in the "What do you think the correct answer is?" field.
Expected:
After an incorrect/trick answer has been entered (e.g., "123" in the attached screenshot), the "What do you think the correct answer is?" field should be cleared.
Note: After the wait time for hints has passed (and students are then able to view the hints and the correct answer in the Hints card), the "What do you think the correct answer is?" field will be different -- there will instead be a message that reminds students what the correct answer is.
When a user enters 1) a guess at the correct answer before the correct answer has been revealed or 2) a trick answer after the correct answer has been revealed: treat numbers, whether entered with commas or not, as equivalent.
For example, in the scenario below, "1080" is the correct answer. However, when "1,080" is entered before the correct answer has been revealed, "1,080" is identified as a wrong answer and added to the trick answer list. When "1,080" is entered after the correct answer has been entered/revealed, "1,080" is accepted as a trick answer even though it is equivalent to the correct answer.
This issue tracks just the handling of commas. In the future, we may want to think about handling other equivalences -- e.g., 2/4 = 1/2 = 0.5.
In the Facilitator flow, the facilitator can currently still enter trick answers / guesses at the correct answer.
To be able to test the part of the Facilitator flow where the Facilitator is able to select/unselect trick answers entered by other team members, we will naturally need a way to enter those trick answers. Before back-end functionality is enabled, we can just keep the current functionality as-is for testing purposes. Later down the road, when back-end / multi-device functionality has been enabled: the trick answers entered by non-Facilitator users should then also appear in the Facilitator's view for the Facilitator to select/unselect.
Testing was conducted on an Android device (Galaxy S7).
We're looking to add a unit testing library. Since we use React for the mobile app and the web interface, we're thinking of using:
Both of these libraries are widely used, but it would also be great to have a markdown file laying out best practices.
Started this recently, and I have a DB cluster set up. I think we need a separate App Sync setup too?!? Maybe we need the config in code.
I don't think there are any scripts that require the files to be in the current locations right now.
This requires migrating from App Push to Azure Notification Hubs
. More information can be found on release notes for AppCenter: https://github.com/microsoft/appcenter-sdk-react-native/releases/tag/4.0.0
Add GameSession api which receives a game ID from the user and returns a GameSession object
When game titles are too long, there is a line wrapping issue when only half the title is rendered.
For example, "Excellent Exponents" is rendered properly but "Copy of Excellent Exponents" might not be displayed all the way.
12/9 Build:
After the correct answer has been guessed or revealed: after a trick answer has been submitted, assign focus to the next available cell (at the bottom of the trick answer list). If this is not possible in a React Native component, it'd be great to at least have the blinking cursor appear in that cell.
npm audit
in the project directory reveals several Denial of Service vulnerabilities known to exist in the versions of the libraries we're using. Updating these libraries should fix the vulnerabilities, but some updates may include breaking API changes. This fix should be tested in its own branch before merging into master.
Integrate the mobile app with fastlane
to automate build process. Currently, the build is done manually and uploaded to AppCenter and Testflight. Further more, we should look into Github actions.
Implement a navigation bar to navigate in between the further details page and games page of the teacher side mobile app
12/9 Build:
Expected behavior:
When guessing the correct answer (before the hints have been revealed): if an incorrect answer is entered, the "Nice try! That's not the correct answer, but it sounds like a great trick answer! We've added it to your list of trick answers!" message should disappear after X seconds (X = a variable that can be adjusted as needed). Please see Figma screens below.
Observed behavior:
The "Nice try!..." message appears to remain permanently.
There's a delay in tapping answers in trick answer page. This is probably related to how FlatList
is used and updating its state.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.