Skip to content

iOS app that serves quotes through its feed, search, widgets, and notifications (Available on iOS App Store).

License

Notifications You must be signed in to change notification settings

Daggerpov/Quote-Droplet-iOS

Repository files navigation

Features to Come 📲

User-Oriented

  • Quote submission: enter your name for submission credit in the app's "Newest Quotes" section
  • User navigation flows from clicking on the widget or notifications -> should lead to that quote in the app (perhaps in an expanded view, as opposed to the base quote box)
  • Onboarding user navigation flow for first-launch to get a user's widget and notifications set up

Technical

  • Google Image Search API integration to fetch author images ad-hoc
  • Based on user quote interactions (like, save, etc.), they'll be shown more similar quotes
    • Integrate LLM to analyze bookmarkedQuotes and likedQuotes from localQuotesService, to come up with relevant search queries to my API, Quote-Dropper

Development 💻

Please take a look at the Projects tab Kanban board for the best representation as to what I'm working on, and what my current priorities are for this app.

Recently (this past week):

  • Re-architected to follow MVVM (Model-View-ViewModel) file/code structure
  • Incorporated Dependency Injection
    • For the primary benefit of unit testing with mock services
      • PR #130: Unit tests with Dependency Injection for Mock Services (New)
    • Also, to decouple logic between views and view models, while ensuring the View Model doesn't depend on the View (only a dependency in the opposite direction)
  • Re-wrote closures with memmory leak prevention in mind, using weak self
    • PR #134: Memory Leaks & Compiler Optimization
  • Various Refactoring:
    • PR #129: Custom View Modifiers (DRY principle) + Standardized Components
    • PR #122: Refactoring to Enums
      • Prior to this refactor, I was using string checks for logic, which was a big code smell, that could've caused logic errors and definitely made the code harder to read

Currently:

  • Memory Leak Unit Testing
  • Continuing refactoring efforts, for these two files in particular (bloated and could have helper functions for repeated work or separation of logic, to follow the SOLID - Single Responsibility principle more closely)
    • QuoteDropletWidget.swift
    • APIService.swift
  • Incorporate UI Testing

About

iOS app that serves quotes through its feed, search, widgets, and notifications (Available on iOS App Store).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published