iOS Developer - Medical Application
The project was a medical application whose purpose was to help patients keep track of their carbohydrate intake, while also predicting if a specific patient might suffer in the near future of hyperglycemia or hypoglycemia. The application had four main tabs, each displaying specific diabetic information about the currently logged user, in an interactive way using lots of Lottie animations. My role in the project was mainly to develop features and I was also involved in decisions regarding the app's architecture. In what concerns the technologies used, I had the chance to try out a bit Lottie and did a lot of unit testing as the project required at least 80% coverage for each flow. Technologie used: Swift, UIKit, Storyboards, Cocoa Pods, MVVM architecture, Realm, Networking(A wrapper around URLSession), SwiftLint, Combine(used for communication between screens), Lottie, Unit testing.
iOS Developer - Booking Application
This application was an internal one for the company that I worked at the time. The application helped people book specific conference rooms, without the need to use outlook or any email client. My role in the project was to mainly implement features and after 6 months I was responsible for modeling the architecture and propose refactors and improvements. I worked with the MVVM architecture and proposed a new binding mechanism. Also, I refactored the whole networking layer and removed Alamofire to replace it with a smaller wrapper around URL Session. Among other things, it could cancel a specific task using Operation Queues and also had a mechanism to retry requests when the token expired. Technologies used: Swift, UIKit, Xibs, Cocoa Pods, MVVM Architecture, Networking, Operation Queues, Unit testing.
iOS Developer - Dungeon & Dragons helper app
This project is a helper application for the board game D&D which aids the dungeon master to follow a specific campaign and gives him hints on how to develop the story. This is a personal project that I am currently working on, so I have multiple roles here. I am involved mostly on the iOS side for now, but in the future, I will also learn Ktor to help with the backend development. In what concerns the technologies used I work with Combine to remove the need for delegation. In addition, to simplify the callbacks, I also created a wrapper around Coredata, for CRUD operations, using Combine.
Regarding architecture, I created a custom implementation for Clean Architecture as I understood it from Robert's Martin book. Furthermore, the application is split into multiple modules by taking into consideration the dependencies between them and also the way they communicate with one another. Technologies used: Swift, UIKit, Combine, CoreData, Carthage, SPM, Coordinator Pattern, Clean Architecture.