Skip to content

Latest commit

Β 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 

Repository files navigation

Project Name CatList

A modern iOS application built with Swift that displays cat breeds with images, supports offline functionality, and provides a seamless user experience.

🎯 Core Features

  • Browse Cat Breeds: View a beautiful collection of cat breeds with high-quality images
  • Search Functionality: Real-time search by breed ID with debouncing
  • Offline Support: Download breeds for offline viewing
  • Pull-to-Refresh: Refresh content with smooth pull-to-refresh gesture
  • Infinite Scrolling: Automatic loading of more content as you scroll
  • Network Monitoring: Real-time network status detection

1. Libraries Used

  • Rxswift: Used for downloading and caching images asynchronously.
  • SVDProgressHub
  • SDImage

πŸ›  Technical Features

  • MVVM Architecture: Clean separation of concerns
  • Reactive Programming: RxSwift for reactive data flow
  • Async/Await: Modern concurrency for network operations
  • Local Storage: Persistent data storage
  • Unit Testing: Comprehensive test coverage

3. Architecture

image

For details about architecture, please visit this

Why MVVM?

We chose MVVM (Model-View-ViewModel) because:

  • πŸš€ Fast development: Simple and lightweight, allowing us to implement features quickly.
  • 🌍 Popular: Widely adopted in the iOS community, with strong support and resources available.
  • πŸ§ͺ Easy unit testing: Business logic is separated into the ViewModel, making testing straightforward without relying on UI components.

This makes MVVM a practical choice where both development speed and code quality are priorities. Because of time constraints, I planned to use MVVM - Clean Architecture for larger projects but couldn't

4. Setup and Installation

  1. Clone this repository to your local machine.
    git clone https://github.com/hiepcute/CatList.git
    

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages