JoshuaHolme / DrawingApp

A test project for LiveSurface

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LiveSurface Test Project.

Requirements

UI/UX:

  • Build a simple drawing app that allows the user to create simple bezier objects in an editing window.

On tapping an add button, the user can pick a simple preset shape (circle, square, rounded rectangle, star, etc) and provide a unique name to add the shape to the window.

  • After the shape has been added to the window, the user can select and manipulate the shape via bounding box controls (the bounding box may be translated, scaled or rotated by interacting with its corner/edge points).

  • Shapes that show up in the editing window should also show in a list view which displays the shape name and shape visibility. The user can toggle visibility of each shape individually from the list view.

  • Do not worry about making the artboard area zoomable or scrollable – only do this if you have extra time.

Technical Restrictions:

  • Use Project Catalyst/UIKit.
  • Use SwiftUI if you’re feeling adventurous.
  • Use Swift 5+ only.
  • Use the design pattern most appropriate to for the above UI/UX.
  • No external libraries. No third-party libraries.
  • Complete as much as you can within 8 hours – don’t work over and please track your time.
  • Architecture and clean code are key.
  • Performance is also important – the app should be able to handle lots of shapes without any problems.
  • UI/visual design is least important but we always appreciate a well-crafted UX.
  • Handle errors (a simple alert is good; custom UI is great).
  • Use Git and do WIP commits so we can see your process.

And finally: Have fun (it shows)!

About

A test project for LiveSurface


Languages

Language:Swift 100.0%