arrow_back
Back

Druze

Druze is an app that allows users to easily create photo and text collages to share with their friends.

Project

For my Mobile App Development class, our final project required us to build a fully usable app entirely from scratch in SwiftUI. I spent a total of three weeks going from conception, to design, and development.
GitHub Repo

Inspiration

For this project, I was inspired by similar collage apps such as ID by Amo or Muze (hence Druze). I knew I wanted to learn how to create a freeform canvas and a collage app is a great way to do so.

Development

To learn how to create a freeform canvas using SwiftUI, I followed several YouTube tutorials and online articles. The baseline functionality I wanted was to allow users to upload images from their camera roll and manipulate them on the canvas (drag, scale, and rotate).

Above is a timeline of the development progress from the absolute baseline functionality to eventually allowing users to create multiple canvases that are stored on their iPhone's storage.

Below is my Xcode development environment.

Final Product

The final app has the following features:

  • Upload images from camera roll
  • Add text labels from inputted text
  • Add shapes from SF Symbols
  • Draw on canvas (50%)
  • Reposition, rotate, reorder, and recolor elements
  • Change canvas background image
  • Have multiple canvases
  • Auto save to user's device in .json

Going forward I would love to continue exploring development with SwiftUI. Some of my future plans for Druze include:

  • Download / export canvases
  • Multi-user experience
  • Integrate with GIPHY API
  • Ability to rename canvases
  • Default options for canvas backgrounds
  • Undo / redo
  • Bunch of different QoL changes

Works Cited

06-ChipsSaveJSON - jht
SwiftUI Canvas Editor With Advanced Gestures & Haptics - SwiftUI Tutorials - Kavsoft
Create a custom navigation bar and link in SwiftUI - Swiftful Thinking
Hacking with iOS: SwiftUI Edition - Paul Hudson
Drawing App in SwiftUI3, Canvas, iOS 15 - DevTechie

Role

Designer & Developer

Type

Class Assignment

Tool(s) Used

Figma, Xcode, SwiftUI

Date

Fall 23

More Info

More Projects