0% found this document useful (0 votes)
11 views

codingChangllenge_appCDM_Test

good
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

codingChangllenge_appCDM_Test

good
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Tigerspike Technical Challenge

1. Assignment Brief

You are to create a simple mobile application – working title: “Landmark Remark”
- that allows users to save location based notes on a map. These notes can be
displayed on the map where they were saved and viewed by the user that
created the note as well as other users of the application.

This exercise is a ​timeboxed ​activity to determine how you plan your time and
approach a challenge with a variable scope. Set yourself a time limit that is within
an acceptable amount for your current circumstances. For the prioritised backlog
below create a solution that meets these high level user stories. You are able to
interpret the implicit requirements behind each story in any way you see fit
(although please mention it in your readme).

It is up to you how you use your time to best show off your skills, but please
explain in your readme why you made that decision. If you don’t expect to finish
all of the user stories, please allow some time to mention in your readme the
approach you would have taken and why.

Remember: ​This exercise is not about you completing as much scope as possible,
more the quality of the code that you do produce as well as the thought you have
put into your approach given your self-imposed time limit.

Backlog

1. As a user (of the application) I can see my current location on a map

2. As a user I can save a short note at my current location

3. As a user I can see notes that I have saved at the location they were saved
on the map

4. As a user I can see the location, text, and user-name of notes other users
have saved

5. As a user I have the ability to search for a note based on contained text or
user-name
2. Technology Stack

You may implement your solution to these requirements (both explicit and
implicit) in ​any one ​of the following technology stacks ( unless you have been
otherwise instructed​ ​). Each stack has its own set of additional directions and
constraints so please read this section carefully.

You are free to leverage any freeware third-party tools or products, however
please document your decision making process in the readme..

You are encouraged to follow test-driven development practices in developing


the application.

2.1 iOS Native Application

The iOS Native Application must be written in Swift. You may not use WebView to
implement any aspect of the application. Your application must perform well on
an iPhone X and later form factor device.

Source code must be developed and runnable in the latest version of ​XCode​.

2.2 Android Native Application

The Android native application should be written in Kotlin and should target
minimum API level 26. You may not use WebView to implement any aspect of the
application. Your application should perform well on the latest Google Pixel
device. Source must be developed and runnable in ​Android Studio ​.

2.3 Microsoft .NET Web Application

The Microsoft .NET Web Application must use .NET Core and function as a
Single-Page Application (SPA) , leveraging either ​React ​or ​Angular ​front-end
frameworks to deliver the user interface. The application is not required to be
responsive, but you should document your decision making process here either
way.

Source code must be developed and runnable in ​Microsoft Visual Studio ​(2017
or greater) or ​VS Code​.
2.4 Java Web Application

The ​Spring MVC Application ​must use Spring 4+ and use ​SpringBoot ​and
function as a Single-Page Application (SPA), leveraging ​Angular ​or ​React
front-end frameworks to deliver the user interface. The application is not
required to be responsive, but you should document your decision making
process here either way.

Source code must be developed and runnable in ​IntelliJ IDEA ​. You are
encouraged to follow test-driven development practices in developing the
application.

2.5 Node.js/JavaScript Web Application

The JavaScript Application must use Node.js and function as a Single-Page


Application (SPA), leveraging either ​Angular ​or ​React ​front-end frameworks to
deliver the user interface. The application is not required to be responsive, but
you should document your decision making process here either way.

Source code can be developed with either ES6+ or TypeScript using the latest
stable Node.js release. You are encouraged to follow test-driven
development practices in developing the application.

3. Backend support

If developing a native mobile application, you may use an appropriate


Backend-as-a-Service (BaaS) provider to implement server-side aspects of your
solution, see below for some suggestions (ensure the service you select has a
‘free-ware’ option!):

● Firebase ( https://firebase.google.com )
● ​Kumulos ( https://www.kumulos.com )
● Realm ( https://realm.io/products/realm-mobile-platform)

If developing a .NET web application, using Microsoft LocalDb for storage is


acceptable.

4. Support

4.1 Reference material


You may use any reference material that you like during the course of the
assignment. This includes the internet at large as well as any course materials
or books.

4.2 Tigerspike Support

If you have questions about this specification you may reply to the email in which
you received it. Responses will aim to be given within one business day.

5. Deliverables

5.1 Manifest

By the stated deadline you should deliver the following:

1. The entire source code (including resources) of your solution


○ Source code must be well commented
○ Source code must be your own (except where otherwise
indicated in your comments)
○ Code must compile and run in the IDE that corresponds to its
technology stack (see Section
2. A “readme” overview of your solution that documents
○ A brief outline of your approach
○ How much time you spent on which aspects of the application
○ Any known issues or limitations of the solution

5.2 Distribution

At minimum you should deliver a zip of the entire source of this project to the
email address from which you received your assignment. If you are comfortable
with it, you may also use a code distribution service such as “GitHub” as long as
you can give Tigerspike appropriate access.

5.3 Important Note for iOS Builds

For iOS native builds, you do not need to worry about signing or provisioning
profiles. Once received the code will be recompiled using Tigerspike
provisioning profiles (as necessary).

You might also like