leovinsen / octopush Goto Github PK
View Code? Open in Web Editor NEWFinancial Education mobile game prototype
Financial Education mobile game prototype
Read from assets/challenge.json
and save in SQLite DB
Table challenge {
time_interval PK NOT NULL
name TEXT NOT NULL
description TEXT NOT NULL
lowest_reward INT NOT NULL
highest_reward INT NOT NULL
done BOOL DEFAULT false
}
ChallengeRepository
will handle loading challenge from DB
When interval is incremented from Home, ChallengeRepository
will be queried with param time_interval
Store user transactions in SQLite database
TABLE transaction_history {
id INTEGER NOT NULL,
title TEXT NOT NULL,
subtitle TEXT,
value DECIMAL(10,2)
}
After re-assessing the UI, it appears that the selecting job should not be included in Registration Page. Hence, field job
will be removed from User
model
Using flutter_launcher_icons https://pub.dev/packages/flutter_launcher_icons
Image asset used: octo gerobak duit
Background: #262626
UI Element: #880606
Page that appears after you select the prospectus
Contains
Maybe separate interval into its own bloc? Use IntervalBloc
as a single source of truth?
Let's see if it can be merged with other classes
Haven't decided how to implement the error message if checkbox is not checked. Need to think over it before implementing
List of installment options can overflow to the bottom of the page
Add a hyperlink in the Checkbox in Registration Page that will link to terms & conditions of the app
Game rules page & relevant navigation
There will be 24 points in time in which user can do actions. There are 2 points in time / real life day, and every point increases the age by 2.5 years.
These points in time will be represented by an enum perhaps called TimePoint
and will be stored in SharedPrefs
as integer.
Design: https://trello.com/c/8f0YbRIz/19-octo-savers-page
Displays transaction history using TransactionRepository
As explained by title
mood
: enum { HAPPY, SAD }
Design the following:
Should have checked on the int stored in the SharedPrefs
because it can return null.
Design & formulas: https://trello.com/c/cjPliE3x/38-installments-page-v1
UserData
is a model for storing user's game progress, such as:
The BLoC will also contain do a check on whether the user has made a career choice or not, and yield State
accordingly
In order to avoid calling getUser()
every time a page requires the user's information, the User
object has to be exposed
Something about platformChannel
and EditableTextSize
-- not sure what happened
The int
obtained from param map
is not converted into enum TimeInterval
which causes a RuntimeException
Add versioning to build.gradle (Android)
As explained by title -- method will be called getUntilInterval
baseStyle
as text styleVersion 1 which includes:
An oversight -- in Challenge.fromDB
it should be converted from int
to bool
before assigning to done
DAY_5B and DAY_6A
Return the list of user challenges, from time_interval
= 0 to current interval
Show a menu / new page when the notification icon is tapped
Currently GameData
is provided by UserBloc
. However, while adding feature for advancing the day, I realized that it's impossible to put the logic into UserBloc
as adding new states will affect the navigation logic in RootPage
.
Instead, there will be a separate Bloc that handles day advancement logic. Might incorporate GameData
into this Bloc and call it HomeBloc
instead
Rename it to something else as it no longer controls user only
The navigation between Registration -> Game Rules + Career -> Home is very clunky, and splash screen is shown multiple times during this time. RootPage
has to serve as the first page opened and control navigation.
And redo the BLoCs because they are very awkward to use
Model and mock data
with rules from https://trello.com/c/m69cfLKp/35-update-rules-page
Apparently the variable _gameData
is not assigned a value at this point. As a result, _gameData
is null when requested by HomePage
after the user initialized their game.
A page that describes the event the user is currently encountering. There will be 2 types of events:
5 Options like Home Page, but only OctoSavers is available as a payment method.
Page that appears after user selects Mutual Funds in Home
Change to Octo
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.