sakho3600 / FillApp

Fill is a mobile application that allows users to earn money by answering various questions from queries and surveys. In order for a user to be able to make money and use the application properly, he must be registered in the database. There is a possibility that the user will skip registration, which allows him only to see questions and surveys. Without the ability to make money.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

fill

Fill is a mobile application that allows users to earn money by answering various questions from queries and surveys. In order for a user to be able to make money and use the application properly, he must be registered in the database. There is a possibility that the user will skip registration, which allows him only to see questions and surveys. Without the ability to make money.

Prerequisites

In order to run the application on emulator or on device (so far, it is runnable from IDE only), following is required:
• Download Git and run Git Bash
• Download Flutter and run flutter_console.bot
• Download Andorid Studio for emulator
• Copy path of bin folder (from Flutter installation folder) into system paths

Installing

Get the project files, open the project from the IDE. After the device/emulator is connected, in order to run the application, type in terminal: flutter run After some time, the application will be built on the device/emulator connected and it will be usasble on the device.

Changes

• V1 – Sprint 1
* User story 1 - planning project, we have planned planning of project architecture and structure. Arranging naming convention, code refactoring, class names, and class architectures.

* User Story 2 – Create a registry screen, which consists of multiple sub-screens. On this screen, we need to pick up a set of information that is relevant to the user’s use of the application itself. Creating user registration using sms code and verifying the code itself. If all the prerequisites and / or all fields are filled in, the user can successfully use the application and earn money.

* User Story 3 - Creating an login screen, which checks and validates user credentials. If everything is valid the user can successfully use the application. The user has the forget password option, which sends him a mail request to reset the password.

Update(14.2) The team successfully coded user story 2. During this period we had some changes from the investor design-wise. We have successfully adjusted designs and we are moving on to user story 3. Only problem that we have was on verifyPin page validation-vise.

Update(17.2) The team successfully coded user story 3. During this period we had some changes from the investor design-wise. We have successfully adjusted designs and we are moving on to the next sprint planning. We added our own reset password screen and figured out all that process with our own solutions. Very proud on team 2.

• V2 – Sprint 2
* User story 1 - fixing bugs from previous sprint
The bugs were on the SIGN UP screen and they are: Error text, Text repeat and verify PIN.

* User story 2 - As a USER I want to HAVE FLASH QUESTIONS so that I CAN EASILY EARN SOME MONEY FROM TAB 1 IN FILL APP
The user story was about to create Tab 1 screen on which flash questions are listed. Here, users are getting questions according to their level and every user can answer a question only once. Also, every question has its own target number which represents the maximum number of answers and a SAR value which is added to users cash balance (implemented as US 3). Questions may be of two types: Yes/No questions and MCQ. After a user answers a question, the answer gets recorder in database. Part of bottom navigation bar is implemented.

* User story 3 - As a USER I want to HAVE MY CASH BALANCE so that I CAN EASILY PREVIEW MONEY FROM TAB 1 IN FILL APP
Firstly, when user registers to the app and login for the first time, 5 SAR gets added to his/her cash balance, so every registered user begins with 5 SAR. Every time users answers a question, the question's SAR value is added to users cash balance and it is displayed all the time on Tab 1.

* User story 4 - As a ANONYM USER I want to SKIP SIGN UP IN FILL APP so that I CAN EXPLORE FLASH QUESTION IN APP BEFORE REGISTRATION
Anonymus user is authenticated by clicking on SKIP. The user is able to answer questions and collect cash as he/she is a registered user. The difference is that anonymus user will not be able to make cash transfers (will be implemented later).

• V3 – Sprint 3
* User story 1 - fixing bugs from previous sprint's US 1
Bugs that had to be fixed were: Error text for password field, Password and Username match, Didn't receive PIN, and Auto-login.

* User story 2 - fixing bugs from previous sprint's US 2
Bugs that had to be fixed were: Auto-login, Low internet connection, Updating target of a question and user answers, and Back button.

* User story 3 - fixing bugs from previous sprint's US 3
Bugs that had to be fixed were: Updating cash balance, Auto-login, and Back button.

* User story 4 - fixing bugs from previous sprint's US 4
Bugs that had to be fixed were: No internet, Auto-login, and Back button.

• V4 – Sprint 4 - (03.03.2020. - 10.03.2020.)
* User story 1 - fixing bugs from previous sprint's US 1
Bugs that had to be fixed were: Text fields' layout, Skip button's layout on Home Page, and repeating text on input in email input text field.

* User story 2 - fixing bugs from previous sprint's US 2
Bugs that had to be fixed were: Scroll, Range error, Layout.

* User story 3 - Registration from within the app for anonymous users
When anonymous user switches to Tab 3 (Profile), he is provided a dialog box which asks him if he wants to register. If the answer is 'No', he stays on Tab 3. If the answer is 'Yes', he is redirected to Register Page where he completes the registration process. After he registers, he is redirected to the app (Tab 2) and all his activities that he made until registration are saved, that is: he has the same cash balance (+5 for registration - NOT SURE YET), he won't be given question that he has answered before as anonymous user, and his level will remain as it was.

* User story 4 - implementation of Tab 2 (Surveys)
Vertical scroll of Survey Cards is implemented. When user clicks on a card, he is redirected to Question List which my contain following types of questions:
1. Yes/No Question - these questions may be branching, which means if user clicks on a specific answer, he will be redirected back to Survey List and that survey will be completed for him;
2. Multiple Choice Question - with three or four answers, and with single or multiple selectable answers;
3. Choose Image Question - with single or multiple selectable answers;
4. Input Answer Question;
5. Choose Date Question.
When user answers last question, he is redirected back to Survey List and that Survey gets status 'Completed' and becomes white, so the user won't be able to enter that survey anymore. On back, user is asked with a Dialog Box if he is sure about exiting the survey. If he confirms the exit, the number of answered questions of the survey will be saved, and when user enters that survey next time, he will continue answering from where he left last time.

• V5 – Sprint 5 - (10.03.2020. - 17.03.2020.)
* User story 1 - fixing bugs from previous sprint's US 2
Bugs that had to be fixed were: Range error on Flash Questions.

* User story 2 - fixing bugs from previous sprint's US 3
Bugs that had to be fixed were: On skip, sometimes user was not written to database and after that the app was full of bugs. After skip, existance of that user in databse was checked and if the user was not written to database, there is a way to write register the user in database

* User story 3 - fixing bugs from previous sprint's US 4
Bugs that had to be fixed were: Range error, Filter question according to target, Filter question according to level, White spave at the beginning and end of scroll, Layout of choices, Yes/No choices' color of Flash Question after anyof the Surveys is completed.

* User story 4 - implementation of Summary Page
After last question of a Survey, user is redirected to Summary page where his progress is 100%, where he can see how much SARs he got and the list of all questions of the Survey. The question are clickable. When user clicks on a question, he/she is redirected to that question where he/she can only preview his answer, there is no possibility to change the answer. When back is clicked while previewing the answer, redirection to Summary page is made. From Summary, back leads to Survey List.

* User story 5 - implementation of Profile Page
On Profile Page, user can preview his current cash balance and his profile info, if he has entered that info before. If not, the fields are empty. From here, anonym user can make registration, registered user can complete his profile, and registered user can make transfer.
There are six different states on this page:
1. Anonymous user - No enough SAR - Profile not completed
2. Anonymous user - Enough SAR - Profile not completed
3. Registered user - Enough SAR - Profile not completed
4. Registered user - No enough SAR - Profile not completed
5. Registered user - Enough SAR - Profile completed
6. Registered user - No enough SAR - Profile completed

• V6 – Sprint 6 - (17.03.2020. - 23.03.2020.)
* User story 1 - fixing bugs from previous sprint's US 4
Bugs that had to be fixed were: Preview answers, Back button from Survey, Font size in Question fields on Summary, Delays.

* User story 2 - fixing bugs from previous sprint's US 5
Bugs that had to be fixed were: Profile states, Border on language containers, Bottom margin on button, Label text for Name and Surname fields, Validation for Name and Surname, Language toggle, Validation for Credit Card Number, Validation for Email.

* User story 3 - Export Flash Question Answers, Survey Answers and Transfers Info
Database configured for easier export of data needed. Research made about what are the options for export of data. Two opstions available:
1. Export through Firebase Console - for this option, the account must be paid, not free
2. Export using script - for this option, script is needed and export is made thorugh terminal

* User story 4 - Performance
Minimum accepted criteria for good performance is:
1. 500 Flash Question
2. 500 Surveys
3. Smooth loading of lists
4. Smooth and live update of SAR balance

• V7 – Sprint 7 - (23.03.2020. - 30.03.2020.)
* User story 1 - Translate the application to Arabic language
User is provided a screen before Home Screen (Register, Login and skip) where he/she can choose the language of the app. Later on, the user has the same option on Profile Page. The second language that is added in this sprint is Arabic language. The content that is read from database is not translated.

* User story 2 - Admin documentation for entering Surveys into database
The second part of the documentation, the part regarding entering Surveys into database is added to the already written documentation (entering Flash Questions and Changing level of a user).

* User story 3 - Snackbar after Transfer
After user successfully makes a transfer, he should be aknowledged that he has successfully made a transfer. So, a showing up of a snackbar after successful transfer is implemented.

* User story 4 - IOS release
The release process of IOS application is started. Now, we are waiting for the application to be available for testing using TestFlight.

• V8 – Sprint 8 - (30.03.2020. - 06.04.2020.)
* User story 1 - Fixing BUGS
Bugs that were fixed are: Cupertino localization, Border of language containers, Translation of Q1, Q2..., and Inserting +966 for APK.

* User story 2 - Additional tasks implemented
Tasks that were implemented are: Adding two more statuses on survey, Open and Closed statuses. When a survey is not opened, its status is Open, and when a survey is opened and user has answered some questions of a survey, then its status is Closed.

* User story 3 - Creating Admin Console for previewing transfers
Separate application, named Admin Console is created. From the console, admin can preview all transfers, pending and done transfers. On pending transfers tab, besides previewing the trasnfers, admin can check that he has made the transfer. When a transfer is checked, it is removed from pending transfers list and added to done transfers list. In addition to these two, admin has one more tab, Export tab from where he can export all transfers made so far. When he clicks the button, he will get JSON file on his email address, from where he can download the file, convert it to excel file and have all transfers in n excel sheet.

* NOTES:
Today (06.04.2020.), the application will be released on Google Play and files will be sent to Enver for IOS release.

• V9 – Sprint 9 - (06.04.2020. - 08.04.2020.)
* User story 1 - As a USER I want to have ORDER type question in Survey, so that I can order choices of Order type question
Tasks that were implemented are: Adding whole new type of questions, where user can drag and drop / reorder the answers.

* User story 2 - Use email instead of username on Sign Up and Sign In
Tasks that were implemented are: Every field where username was, team replaced with email field, and on local storage, it remembers us by our email, that has to be unique.

* User story 3 - Design layout responsive
3 types of tablets, 4 emulator devices, and 2 live devices where tested for responsivnes. Every screen is looking good and responsive.

* User story 4 - As INVESTOR I want to have credit card validation, so that I can know if a credit card is invalid
Our team has come up with gread idea, we are checking if the card number is valid, which type of card is it, and on all that, we are live recognizing the card type, and showing the card icon.

* NOTES:
Today (08.04.2020.), the application will be released on Google Play and files will be sent to Enver for IOS release.

About

Fill is a mobile application that allows users to earn money by answering various questions from queries and surveys. In order for a user to be able to make money and use the application properly, he must be registered in the database. There is a possibility that the user will skip registration, which allows him only to see questions and surveys. Without the ability to make money.


Languages

Language:Dart 99.3%Language:Ruby 0.5%Language:Swift 0.1%Language:Kotlin 0.1%Language:Objective-C 0.0%