Answered step by step
Verified Expert Solution
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: the client application ie an Expo application and a REST API ie 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 eg 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 thirdparty APIs. It should only request data from your API. When needing data from a thirdparty API, your server must act as an intermediate agent that requests, processes and responds.
In the previous assignment, you worked only with thirdparty 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 andor some text.
Expo Docs: Expo SplashScreenLinks to an external site.
Loginsignup
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 npmlicensecrawlerLinks to an external site.
Settings
The user must be able to choose some accessibility settings eg font size
These settings must persist between application launches.
Technical requirements
Technical Requirement Details
Programming language JavaScript ES or higher
Libraries and frameworks React Native, Expo, jode.js Express, thirdparty components of your choice
Devices for testing Mobile phone or emulator
Write modern JavaScript ES 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 thirdparty APIs are leveraged, your API must act as an intermediate agent to them ie a proxy API
Use Create Expo App createexpoapp 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 codebases 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
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started