I am an iOS Developer.
π‘ My skills:
SwiftUI, UIKit (Auto Layout and storyboards), Combine, UserDefaults, Keychain, CoreData,
MVC, MVP, MVVM design patterns,
SOLID, DRY, YAGNI, KISS,
REST API requests, working with Postman, pagination; Unit and UI testing,
Multithreading: preventing race condition (Dispatch Queue, blocking UI),
Git, conducting code review.
π 2025 Goals: Find a dream job and contribute to projects!
I worked on the following projects:
iOS-FakeNFT-StarterProject-Public
The goal was to interact with the external API (FakeNFT) and get to know various types of servers in the context of developing mobile applications for iOS, as well as to use development tools to test and validate functionality. This experience also demonstrates the importance of properly documenting and controlling data types when dealing with network requests.
Here are the main skills I gained from this project:
- Types of servers: Understanding the differences between production and test servers.
- Using external APIs: Working with the FakeNFT API, including using authorization tokens, sending GET and PUT requests to receive and update data, as well as processing data sorting.
- Documenting the API: Familiarization with the API documentation provided in the file API.html , including endpoints, query types, and response data structure.
- Using Developer Tools: Familiarization with tools such as Postman for sending test requests and verifying API operation. Mastering ways to save query collections and share them.
- Data type control: Understanding the importance of correctly describing data types in network models in order to avoid errors and inconsistencies in the transmitted data.
- Teamwork and API recovery: The ability to work with the team when changing code fragments and understanding the process of creating branches for new tasks. Awareness of the need to restore the API in case of "broken" changes and the use of tools such as Postman for this purpose.
Tracker
The third important fully independent project, the aim of which was mainly to implement the business logic of the project. I was introducced to an important entity for development β databases and learned about different types of databases, how to make SQL queries and view the contents of database files using third-party tools like the Core Data framework, which provides an interface for working with databases.
ImageFeed
The second full-fledged application.
Skills:
- Sourcetree
- Launch screen
- Authorization using the OAuth 2.0
- UITableView Table
- Advanced tests with files/network. Unit testing
- Code layout using Auto Layout
- Navigation
- UIScrollView
- Swift Package Manager (SPM)
- Multithreading
- Pagination when working with the network
- Keychain: Data Security
- Animation
MovieQuiz-ios
My first fully functional attractive and user-friendly mobile application.
The main goals and objectives of the project included:
- Creation of a user interface (UI).
- Organization of the project structure: Separation of files and resources into appropriate folders (Presentation, Models, Services, Helpers, Resources) in order to conveniently and logically manage the code.
- Handling application states, errors and improving the user experience: working with different scenarios and providing a satisfactory user experience in various situations, preventing negative impact on the user experience.
- Network and data maintenance: Using the Services folder to implement functionality related to network requests and data processing.
- Usage of auxiliary tools: Integration of files in the Helpers folder to ensure convenience in working on specific aspects of the application.
- Project Resource Management: Use the Resources folder to store various resources, such as fonts, colors and icons, in order to easily manage and maintain the project.
- Ensuring compliance with TK requirements: Attention to details such as iOS version restrictions, Bundle Id settings, and compliance with screen mode restrictions.
- Work with Git.
Counter
The project in SwiftUI. The goal was to create interactive elements and see the results of their work, to connect interface elements with application logic, creating the first bridge between idea and reality.