Skip to content

iOS sample app demonstrating clean architecture, testing and modern Swift

License

Notifications You must be signed in to change notification settings

cwalcott/MyLibrary-iOS

Repository files navigation

MyLibrary

An iOS sample application demonstrating clean architecture, comprehensive testing, and modern Swift/SwiftUI development practices. This project showcases integration of local persistence, networking, reactive programming, and dependency injection in a production-ready codebase.

Overview

MyLibrary is a personal library manager that allows users to search for books using the Open Library API and save favorites locally. The app demonstrates professional iOS development patterns including MVVM architecture, protocol-oriented design, and test-driven development.

This is sample code intended to demonstrate:

  • Clean architecture and separation of concerns
  • Comprehensive unit testing with modern Swift Testing framework
  • Dependency injection and testability-first design
  • Integration of local storage and network APIs
  • Reactive programming with Combine
  • Modern SwiftUI development with previews

Features

  • Search Books: Search the Open Library catalog with debounced queries
  • Favorites Management: Save and manage favorite books locally
  • Book Details: View detailed information about books
  • Offline Support: Favorites stored in local SQLite database
  • Real-time Updates: Reactive UI updates using Combine publishers

License

This is sample code for portfolio purposes.

Contact

Costa Walcott cwalcott@gmail.com

About

iOS sample app demonstrating clean architecture, testing and modern Swift

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages