Skip to content

A simple and minimal movie watchlist app built with SwiftUI & SwiftData. Add movies, organize by genre, and even pick a random one when you can’t decide! Learned key concepts like component-based design, symbol effects, haptic feedback, and accessibility.

Notifications You must be signed in to change notification settings

AranFononi/Watchlist-App-SwiftUI-MasterClass

Repository files navigation

Watchlist 🎬📌

A Minimal Movie Watchlist App Built with SwiftUI & SwiftData

This is my project from Chapter 9 of the SwiftUI MasterClass, and we learned and explored component-based design, symbol effects, haptic feedback, and accessibility to make the app more polished.

📌 Project Overview

This app lets you save movies to a watchlist, organize them by genre, and pick a random one when you can’t decide! Built with SwiftUI and powered by SwiftData for seamless data handling.

🚀 What I Focused On

  • SwiftData: Used Apple's latest persistence framework for smooth data management.
  • Component-Based Design: Broke down UI into reusable SwiftUI components.
  • Symbol Effects & Haptic Feedback: Added subtle interactions for a better experience.
  • Accessibility: Made the app more user-friendly with VoiceOver and sensory feedback.

🔥 Features

✅ Add movies with a title and genre
✅ Swipe to delete movies from the watchlist
✅ Pick a random movie when you can’t decide
✅ Simple and clean SwiftUI interface
✅ Uses SwiftData for local storage


📸 Screenshot

Placeholder


🛠️ How to Use

  1. Clone this repository.
  2. Open the project in Xcode (iOS 17+ recommended).
  3. Run the app and start building your watchlist!

📬 Contact

For any questions or collaborations, feel free to reach out:

About

A simple and minimal movie watchlist app built with SwiftUI & SwiftData. Add movies, organize by genre, and even pick a random one when you can’t decide! Learned key concepts like component-based design, symbol effects, haptic feedback, and accessibility.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages