Skip to content

Latest commit

 

History

History
89 lines (73 loc) · 3.2 KB

README.md

File metadata and controls

89 lines (73 loc) · 3.2 KB

HowCat

A delightful app that offers random cat images and fun facts about cats with just a tap, perfect for feline enthusiasts!

Appendix

This project is using:

  • Swift 6.0
  • SwiftUI
  • MVVM Architecture
  • Unit Tests/UI Tests
  • 3rd party library (Kingfisher)

In order to run this you need to have:

  • Xcode 16 but you can try to use Xcode 15.xx.
    • This is to avoid issues when running this project on lower versions of xcode and macOS.
  • macOS Sonoma 14.5+ since this is the version where the Xcode 15 & 16 series will run.
  • iOS 18 for the simulator since it's the minimum deployment
  • (Optional) Sourcetree for easier cloning but you can clone this using Git terminal.

After cloning the project, make sure that you select main as the main branch. After selecting the branch, you can open the project by:

  • Opening xcode 16
  • Selecting "Open a project or file"
  • Browse using the path that you save during cloning
  • Find the .HowCat.xcodeproj file then open it Then in order to run the project you can simply press ctrl + R on your keyboard to build and run.

Apple Framework used

  • SwiftUI
  • Combine
  • XCTest

3rd-Party Packages Used via Swift Package Manager

  • Kingfisher

Folder Structure

  • HowCat
    • Constants
    • Enums
    • Loaders
    • Main
      • Model
      • View
      • ViewModel
    • Services
  • HowCatTests
    • Services
    • ViewModel
  • HowCatUITests

Features/Functionality

  • Tap anywhere on the screen to get a new fact of cats with image with randomized fonts that supports dynamic types
  • It will use your selected/accent color that has been set on the device while the image is loading
  • Semi-localization on the cat facts depending on your preferred language that has been set on your device's settings
  • Share feature to share with anyone
  • Accessibility support
  • Dark mode support
  • Supported iPhone and iPad screens

Video (IPhone)

Iphone.2-1.mp4

Video (IPad)

Ipad.2-1.mp4

Screenshots (IPhone - Portrait)

HowCat App Screenshots HowCat App Screenshots HowCat App Screenshots

Semi-localization

HowCat App Screenshots HowCat App Screenshots

Screenshots (IPhone - Landscape)

HowCat App Screenshots HowCat App Screenshots HowCat App Screenshots

Screenshots (IPad - Portrait)

HowCat App Screenshots HowCat App Screenshots HowCat App Screenshots

Screenshots (IPad - Landscape)

HowCat App Screenshots HowCat App Screenshots HowCat App Screenshots