Introduction to the assignment (Learning Aim B). I work as a junior programmer for a company that
supports charity for young children with learning disabilities. I have been by my project manager to
develop a mobile app, that will help and improve primary children their mental arithmetic and
overall maths skills. The purpose of the app that I am building is to run a game type in a quiz format
where the users will be able to answer series of challenging and easy questions that involve addition,
subtraction, multiplication, and division. The questions must be designed in a way that they are
using only whole numbers between 1 and 12. The subtraction and division should not produce -
negative numbers as this will make it harder for the users to learn. There must be at least 3 games
with 3 levels each. A game must have at least 10 questions and the application must be able to keep
track of their score for example, if you have answer 5/10 questions correct it will display something
like current answered: 5 of 10 … The level names are up to me they could be level 1, level 2 etc or
they could be named by difficulty names such as Easy, Medium, Hard. The levels must have a time
limit. The first level which is the easiest will have no time limit and it will allow users to spend as
much time as they want on the quiz (game). The second level will have a fixed time of 10 seconds
per question to answer for the 3 level I am planning to make it longer as this will be the hardest
level, but we’ll see when it comes to designing and developing the project. The application that I am
building must include suitable graphics such as images and sounds that will entertain the audience
this will be something like applause when you answer a correct answer or some sort of graphical
interaction when answering something correct, this will motivate the users to play the game more as
it will make their time feel appreciated.
Target audience and possible platforms
The target audience for my application is aiming towards young children between the age of 8 and
15. This criteria is the most important part of the application that I am developing as I am going to be
designing a program and interface that is suitable for this age criteria. My application will be most
likely available on multiple platforms to make sure more children are able to interact with it as not
everyone has access to a smartphone or a computer. Most of the application usage will come from
iOS users and android users (smartphones) and I will try to implement the same app into a windows
application as well or any desktop device such as MacOS. Implementing more than one platform will
definitely increase the amount of users use the game as it will be more accessible.
Device features
The program that I am developing will have the ability to be minimised without the timer to be
decreasing or I will just implement a pause button that will do the same. My application will be able
to have auto adjustments such as when flipping your device horizontally the game will rotate also,
providing wider screen of view and improving usability.
,About this project
For the development
of this project I will be using Expo and React Native which is a JavaScript framework that allows me
to build mobile applications with simply using JavaScript. Expo is an iOS and Android simulator that
allows me to build and edit my apps in real time. One great advantage that I will have using react
native is because I can produce the same applications for 2 different platforms with the same code
which is just great. My aim is to produce an android application and iOS application that are both
compatible with identical user interfaces. More about react native, react native compiles the
JavaScript to a native components using platform-specific API’s and modules. By using those
components such as images text and view, developers can create new ones. The way react native
works is by allowing the development of apps consisting of JS code to make the bridge between an
app and a target platform. React native’s bridge system leverages the react library and it transfers
components into a mobile device view. For this project I will also be using typescript which is an
open-source language that builds on JavaScript which will be the core of the program. I will be using
typescript for the quiz part of the program when it comes to fetching questions from an external API
and making a request. TypeScript provides a way to describe the shape of an object, allowing
typescript to validate that the code is working correctly.
Performance and stability of react native. Sometimes react native has issues when updating versions
but that does not mean your app will not work with every update.
What is expo? Expo is a framework and a platform for react applications. It is developed around
react native and native platforms that are able to help you develop, build, deploy and quickly
implement on iOS, Android or web applications with exactly the same JavaScript codebase.
, First of all I had to install
expo on my machine and I
have done that by following
the docs on their original
website. The fist command
that I will be running is npm
install –global expo-cli which
will install all the
dependencies that allow it to run on my host.
When expo is installed I have to run it using the “expo start” command which then will start a the
application on a localhost and it will provide me with a url with 19002 port that I can access the
control panel of expo and from there I can view the logs and select the type of connection I will use
such as running a simulator on my computer or using my phone via tunnel to connect to the current
code.
This is what the control panel of expo looks like. On the bottom left corner there is a barcode when
you scan it and you have the expo app downloaded on your mobile device it will simply launch the
project that you have created with expo. Above the barcode there are 3 types of connections,
Tunnel connection, Lan and local. For this project I will by using Tunnel connection for the reason
that I do not have access to a mac computer to run a ios environment and this is the main reason
, why I will be using expo, if I had a mac I would simply use xcode. I will be using the tunnel
connection to run the app on my phone and this will allow a real-time development as well as
allowing me to see how the application functions and looks before releasing it. The LAN connection
does the same as tunnel but I had a error when trying to use it that’s why I decided to use tunnel
because it works for me. On the right side of the screen there is a panel that displays the logs and
connection status as well as on the top left corner there is the connected devices and as you can see
my phone is connected under the name “Kaloyan” and a phone icon underneath it.
C.P7
Design process
First, we must have a clear understand of what the user requirements are for this project before
defining whether the application that we are planning to design will meet the requirements. The
current requirements for this application are to produce a game style application that allows
children to learn and improve their maths skills. The way my application will help them with this
task, will be by providing 4 different topics with 4 different levels of difficulty which is one of the
requirements set by the brief that will be met. My application will also include only whole numbers
between 1 and 12 which is a brief requirement and it will not be ignored. By including just those few
requirements into my application I ensure that I meet the required needs of the audience as those
are one of the most important requirements needed for the application to work. Having questions &
styling the questions is the most important aspect which so far Is met by the way my design is
designed. Another requirement that I have ensured is met is including a lot of animations and audio
effects which is a requirement that is met by including it in my designs as the form of component
which will blend into the application. The way that the design process ensured I have met the
required needs of the audience is by having a very consistent theme across the app. I have not used
colours that might distract and eventually lead to people not being able to use the app effectively, by
including very simple colour structure across I ensure that the target audience is able to use the app
effectively to learn and improve their maths skills, which is one of the main requirements of the app
(to help children learn maths). The way my design process ensured that I have met the required
needs of the audience is by including graphics in my designs that are part of the requirement and
make sure to blend those graphics into the application itself to provide a sense of accomplishments
when the topic has been completed. The way graphics in my design help with meeting the
requirements is by making sure that the audience is entertained and making sure they will attempt
another quiz that will improve their overall knowledge. The way my design process ensured that I
have met the client requirements Is by including a very simple introduction page just before new
users start the quiz, which will quickly and briefly explain what the application does and what
features it has as well supported with graphics. The way this feature helps with meeting the client
requirements in my designs will be that including a quick introduction helps the target audience to
understand what the app is for which in our case will be to help them learn maths and having
something that introduces them to the application just before they start using them can help with
the overall usability, because they will already know some of the controls and will avoid any
unnecessary questions that they might have of how to use the application or how to start a quiz.
Development stages
For this project there are some development stages that I will have to follow to ensure that my
project is successfully completed. The first stage of the development process will be the planning
stage. In the planning stage I simply specify and plan what type of application I will produce that
meets the listed client requirements. In the planning stage I also do a research which is related to my
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller kaloyantitov. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for £15.49. You're not tied to anything after your purchase.