Skip to content

antonikochet/FunboxTestTask

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FunboxTestTask

test task from Funbox

Test task for the vacancy of ios developer at funbox. The project is educational.

App description

The app contains three screen:

  1. Store-front screen - shows product information and a buy button.
  2. Back-End screen - shows a table with product name and amount. Screen has a button for adding a new product and editing an existing product.
  3. Add/edit product screen - the screen has fields for editing a product and buttons for canceling and saving.

screenshots app:

store-front screen back-end screen add/edit screen

Tasks

description of tasks implementation

Task 1

the app is split in two using UITabBarController.

Task 2

test data are in StaticArrayData

adapter example StorageJSON

storage replacement example:

//test data
let storageDevices: StorageProtocol = StaticArrayData()

///example of working with the adapter.
//let storageDevices: StorageProtocol = StorageJSONAdapter(storage: StorageJSON())

let deviceProvider = DeviceProvider(storage: storageDevices)

Task 3

Used DispatchQueue with a Barrier flag.

An UIActivityIndicatorView has been added to show that a buy and update operation has started.

screenshots:

store-front back-end

Received knowledge

  • UIKit
    • UIPageViewController
    • UITabBarController
    • UINavigationController
    • UIStackView
    • UIActivityIndicatorView
  • Pattern
    • Adapter
  • Multithreading
    • DispatchQueue
    • Barrier

About

test task from Funbox

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages