Git Product home page Git Product logo

Hi there 👋

My name is Yevgeny and I'm an iOS developer

My Portfolio

Projects: 〈 1 · 2 · 3 〉of 10

07-RayBan-Store


Description:

  • This is a full-featured app (excluding purchases) that allows users to order glasses from the online store.
  • The app has a shopping cart where users can add and remove items, as well as a wish list where they can keep their favorite items for future purchases.
  • Users can also place orders, choose shipping options, enter their address for delivery, and view their order history.

Project Goal:

  • The project was developed for the purpose of studying Clean Architecture and MVP presentation pattern, as well as for learning Firebase frameworks such as AuthFirebase and RealtimeDatabase.

Used technologies and frameworks:

  • Swift, CocoaPods, SwiftLint, AutoLayout, async/await, JSON
  • UIKit, Stevia, CoreAnimation, FirebaseAuth, FirebaseDatabase, Facebook SDK, Network, URLSession

Read more: 07-RayBan-Store (repo)


SpaceX


Description:

  • The SpaceX app is an iOS application that provides information about SpaceX rockets and launches

Project Goals:

  • Develop the application using the Clean Swift architecture
  • Learn GraphQL and Apollo-iOS framework
  • Work with SceneKit and 3D models

Used technologies and frameworks:

  • Swift, Xcode 14, iOS 13.0, Storyboard, Clean Swift, GraphQL, Blender
  • UIKit, Apollo-iOS, SceneKit, URLSession, CoreGraphics

Read more: SpaceX (repo)


10-Food


Description:

  • The project is a food ordering app that allows users to sign up, sign in, browse menus, add items to their cart from various categories, and place orders.
  • All images and JSON data are stored in the Resources folder in this repository and retrieved using URLSession.

Used technologies and frameworks:

  • Swift, Xcode, Storyboard, MVVM, JSON, Codable,
  • Foundation, UIKit, URLSession, Keychain, NotificationCenter

Read more: 10-Food (repo)


Show more projects: 〈 4 · 5 · 6 〉of 10


Planner App


Description:

  • This project is an iOS application designed to help users manage their daily tasks.
  • With the app, users can easily view and organize their tasks based on the day they created them. The app also provides a feature that allows users to add new tasks as needed.
  • In addition, the app includes a variety of features designed to enhance the user experience. For example, there is a month picker that allows users to easily navigate to a specific month. Similarly, the day picker allows users to select a specific day and view all the tasks created on that day. Moreover, the app provides an indicator that shows the number of tasks created on a particular day, allowing users to quickly identify their busiest days.

Used technologies and frameworks:

  • Swift, Xcode, JSON
  • SwiftUI, Combine, Foundation

Read more: Planner App (repo)


Design-Patterns


Description:

  • A simple application with a list of patterns grouped by categories.
  • All the images, as well as the design of the application, were created in Sketch.
  • Each pattern has a brief description, popularity, and complexity indicators for Swift developers, and a code example.
  • The code samples are downloaded from this Git repository and have a specific situation implementation for the ios developer.

Project Goal:

  • Learn design patterns, understand and apply them on a concrete example

Used technologies and frameworks:

  • Sketch, Swift, Xcode, Storyboard, Playground, JSON, Regex
  • UIKit

Read more: Design-Patterns (repo)


Architecture-Patterns


Description

  • This project is a simple app that consists of a login and main screens.
  • The login scene allows users to input a username and password, and if the combination is valid, the user is presented with the main scene.
  • The main scene simply displays the username and a logout button.

Project Goal:

  • The main goal of this project was to learn the difference in data passing and routing between screens using three different architectural patterns (MVC, MVP, MVVM) through a simple app example with two screens.

Testing

  • The app has been thoroughly tested using XCTest. The testing includes unit tests and UI tests.
  • Unit tests are written for Presenters of MVP and ViewModels of MVVM using the Test Double unit testing concept. For example, a test case was written to verify that the router method representing the main screen is called after the "Login" button is pressed.
  • UI tests were also written to test the app's user interface and overall behavior. For example, a test case was written to ensure that after entering valid login credentials and tapping the "Login" button, the app transitions to the main screen.

Used technologies and frameworks:

  • Swift, XCode, MVC, MVP, MVVM
  • UIKit, XCTest

Read more: Architecture-Patterns (repo)


Show more projects: 〈 7 · 8 · 9 〉of 10


Core-Animation



Learned how to:

  • draw circle and arc using CAShapeLayer and UIBezierPath
  • animate properties of CoreAnimation classes using CABasicAnimation and CASpringAnimation
  • animate UILabel text content using CADisplayLink
  • replicate layers using CAReplicatorLayer with move and rotate transforms
  • create a CAEmitterLayer layer with CAEmitterCell and manage its properties

Read more: Core-Animation (repo)


06-Audio-Player


Description:

  • No Storyboard, no UITableView
  • This project is an audio player app that allows users to play music from their device's local storage.
  • The app loads songs from the main bundle using the Storage class, which uses the AVFoundation framework to extract metadata from the songs, such as title, artist, and artwork.
  • The app supports remote control events, such as play, pause, next, and previous.

Used technologies and frameworks:

  • Swift, MVC, KVO, Delegation pattern
  • UIKit, AVFoundation, MediaPlayer

Read more: 06-Audio-Player (repo)


To-Do-Manager


Description:

  • This project is a task manager app developed for iOS devices.
  • It allows users to create, edit and delete tasks, set their priority and status - their place in the task list will depend on it.
  • In this app are considered different solutions for task storage, such as UserDefaults, Realm, and remote API.

Used technologies and frameworks:

  • Swift, Xcode, SPM, Storyboard, XIB, MVC, Ascyn/await, REST API, JSON
  • Alamofire, Realm, UIKit, Foundation

Read more: To-Do-Manager (repo)


Show more projects: 〈 10 〉of 10


CoreDataDemo


Learned how to:

  • create entity:
    • with auto class definition
    • with manual class definition
  • create new entity instances
  • change entity atributes
  • delete entity instances
  • fetch context
  • save context
  • implement simple CoraData manager
  • handle context changes usin NSFetchedResultsControllerDelegate
  • create relationships between entities

Read more: CoreDataDemo (repo)

Yevhen B.'s Projects

06-audio-player icon 06-audio-player

The audio player plays songs in the background and displays the current song on the lock screen and in the control panel

07-rayban-store icon 07-rayban-store

This is a full-featured app (excluding purchases) that allows users to order glasses from the online store.

10-food icon 10-food

Demo App implemented using UIKit and Storyboards on MVVM architecture

architecture-patterns icon architecture-patterns

Simple project with login and main screen. Implemented with MVC, MVP and MVVM patterns. Covered with UI/UnitTests

colorized-app icon colorized-app

An example of a binding between a label, text field, slider and background color of view.

design-patterns icon design-patterns

Application containing 20 design patterns with description, structure and code examples in swift.

sketch icon sketch

My design projects from Sketch course by SwiftBook

spacex icon spacex

The SpaceX app is an iOS application that provides information about SpaceX rockets and launches.

swiftui icon swiftui

My projects from SwiftUI course by SwiftBook

to-do-manager icon to-do-manager

Typical Task Manager App in which the user can keep and track current and completed tasks

uikitlayout icon uikitlayout

UIKitLayout is a set of convenience initializers and methods for UIKit framework. Inspired by SwiftUI, designed to simplify the building of a hierarchy of UIView and its subclasses

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.