Skip to content

Files

Latest commit

227824f · Oct 30, 2024

History

History
43 lines (35 loc) · 3.1 KB

README.md

File metadata and controls

43 lines (35 loc) · 3.1 KB

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