A project management app designed to allow users to collaborate on multiple projects simultaneously through custom tasks. It allows you to specify which tasks need to be done before others, and enhances productivity by generating possible orders in which to complete them. Process can also infer how long a task will take to complete based on the user’s completion time for similar tasks.
This was mainly a summer project, and the last task I set out to complete was to fix a UI bug where views would flicker due to being recalculated redundantly or at the wrong times. I found out that it was due to poor use of the SwiftUI combine features, such as @EnvironmentObject
. I started fixing it but then school happened, so I am sorry if anything you see hurts your eyes -- I do not plan on keeping it around.
If right now you are saying 'hmph, this is why branches exist," I agree. However, sorry or not, time doesn't grow on trees lately; I also wish my project was perfectly developed.
Here is a snippet of a little presentation I made for this app (don't be scared by the moldy thumbnail, quality gets better after a few seconds). You can view/download it in better quality through this Google Drive link.
Process.mp4
- SwiftUI: Apple’s fairly recent declarative framework for building user interfaces
- Combine: Provides a way of processing values over time, allowing for the representation of asynchronous events
- SwiftUIX: Provides UIKit-like components for SwiftUI (pending integration)
- ActionButton: Convenient button component
- SwiftUIBanner: Basic banner component (modified)
- FloatingButton: Round Android-like button component (modified)
- GridView: CollectionView equivalent in SwiftUI (pending integration)
- Firebase Auth: Authentication kit
- Firebase Firestore: Real time NoSQL cloud database kit
- Firebase Analytics: Integration with Google Analytics
- Firebase Storage: Storage and servicing of large user generated files such as images