Steps for designing a side project: Architecture pattern → Design resources → Planning → Technologies to use
Before starting the side project, I considered various architecture patterns.I watched a lecture on GUI architecture patterns, and my key takeaway was that instead of using architecture patterns to solve problems, it is crucial to choose the right architecture based on the development environment.
I found some useful templates for different architecture patterns:
rx-swift-clean-architecture
branchWhen developing a side project, design considerations are also important. Searching in Figma Community provides various mobile design templates and resources.
From a service planning perspective, I brainstormed ideas for what kind of project to build.
From a technical perspective, I debated whether to store data on a server or locally on the device.I decided to try SwiftData, which I hadn’t used before. I also discovered that Firebase provides an Emulator that allows running services locally in a dev environment without incurring costs.
.gitignore
to prevent Swift files from being uploaded. Another approach is setting variables in xcconfig
files.sync
for read/write operations or a barrier
is an option, in this case, there was no need for execution on a separate queue, so I modified it to avoid sending the task to a global queue.