Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

demonstrate your ability to develop across two components of a technology stack: ( 1 ) the client application ( i . e . , an

demonstrate your ability to develop across two components of a technology stack: (1) the client application (i.e., an Expo application), and (2) a REST API (i.e., a node.js / Express application). Given that, be mindful of the time available when choosing the size of your application.
Here are some examples of a productivity application:
A note taking application
A budget manager
Task manager with calendar
Time tracking
Integration and automation (e.g., social media manager, IFTTT integrations)
Health and fitness tracker
Meditation and mindfulness
Pet and animal care
Functional requirements
We are intentionally giving you the freedom to choose the features of your application, however, there are some requirements you must address:
API requirements
Your API is to provide a method for your users to authenticate and to exchange data between the mobile application and server.
Your mobile application should not make requests to third-party APIs. It should only request data from your API. When needing data from a third-party API, your server must act as an intermediate agent that requests, processes and responds.
In the previous assignment, you worked only with third-party APIs and you probably only used the HTTP method GET. In this assignment, you must demonstrate use of GET, POST, PUT, and DELETE.
The underlying database for your API must be MySQL. If you wish to use a different database engine, first seek approval from the unit coordinator.
Mobile client requirements
You should choose suitable interface elements to display and interact with. The overall design of the application is up to you, as long as the views are consistent, clean and modern looking.
Other than the views that display the core functionality of your application, there must be at least four others:
A splash screen
The default view when first launching the application.
Includes a logo image and/or some text.
Expo Docs: Expo SplashScreenLinks to an external site.
Login/sign-up
To enable authentication.
Username and password are enough. Passwords must be encrypted in the database.
About
A view that describes the application.
A list of open source licences (see npm-license-crawlerLinks to an external site.).
Settings
The user must be able to choose some accessibility settings (e.g., font size).
These settings must persist between application launches.
Technical requirements
Technical Requirement Details
Programming language JavaScript (ES6 or higher)
Libraries and frameworks React Native, Expo, jode.js, Express, third-party components of your choice
Devices for testing Mobile phone or emulator
Write modern JavaScript (ES6 or higher)
Use asynchronous programming
Design user interface including the layout, colours, fonts etc
Retrieve data from your server via a REST API
You must demonstrate using each of the HTTP methods (GET, POST, PUT, DELETE).
When needed third-party APIs are leveraged, your API must act as an intermediate agent to them (i.e., a proxy API).
Use Create Expo App (create-expo-app) to create the initial project structure. You can add more folders as needed.
To the best extent possible, use React functional components, not class components.
Use props to pass data between components.
Use hooks and persistant storage for state and effect management.
Use appropriate component styling. You should avoid inline styling.
Development requirements
Development tools and workflow
Before beginning development of your application, you should choose a set of tools that will support you. For example, VS Code, git, and a mobile device (physical or emulated). You should tell us in the demonstration video which tools you used to build your application, and how you used them.
Version control
You may choose to have a monolithic codebase for both the mobile application and server, or you may split them into their own repositories. Regardless, you need to be version controlling your codebase(s) with git. We will be looking for you showing us this in your demonstration video. Be mindful that your remote repository needs to be private, so that no one else can discover your solution to this assignment. Be sure to commit often and provide meaningful commit messages. The use of branches is ideal. You need to include a .gitignore file. Do not version control any secrets. Be sure to include a license.
Documentation
Your codebase needs to be well documented. Be sure to include comments in your code. You need to provide a README file with at least the following:
The purpose of the application.
A description of how to contribute to the development of the application
A list of features
A list of dependencies and how to install them
A description of the applications architecture
How to report issues
Your API should be documented using Swagger.
License
Specify a license. You may choose any existing open s

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Big Data Concepts, Theories, And Applications

Authors: Shui Yu, Song Guo

1st Edition

3319277634, 9783319277639

More Books

Students also viewed these Databases questions

Question

2. Follow through with fair consequences.

Answered: 1 week ago