Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

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

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages