An iOS SwiftUI application that displays a list of books grouped by genre, allowing users to mark their favorite titles and explore details.
Built with @State, @Binding, and NavigationStack to demonstrate reactive UI and modern SwiftUI architecture.
Developed as part of an academic project at Seneca Polytechnic.
- 📖 Book List by Genre — View books organized in sections by genre
- ❤️ Favorites Management — Mark or unmark books as favorites with state synchronization
- 🔍 Book Details — View book cover, author, and description on a dedicated screen
- 🧭 Smooth Navigation — Uses
NavigationStackandNavigationLinkfor detail transitions - 💾 Local Data — Sample data file showcasing list rendering with
ForEach - 🎨 Modern SwiftUI Design — Minimal and responsive layout using declarative syntax
The app follows a declarative SwiftUI structure, using reactive data flow between views.
Book.swift— Defines the book model (Identifiable,Hashable) with properties for title, author, genre, and favorite stateSampleData.swift— Contains static sample book data used to populate the list
ContentView.swift— Root view with tab navigation for All Books and FavoritesBookDetailView.swift— Displays selected book’s details and favorite toggleFavoritesView.swift— Shows all user-favorited books
FavoriteBooksAppApp.swift— App’s main entry using@mainandWindowGroup
- Framework: SwiftUI
- State Management:
@Stateand@Binding - Navigation:
NavigationStack+NavigationLink - UI Components:
List,Section,TabView,Image,Toggle - Data Flow: Real-time updates using reactive state bindings
- Code Design: Struct-based modular views with helper methods
Andrea Selina Perez
📍 Seneca Polytechnic – Computer Programming (iOS & Data Structures focus)
📫 andreaselinaperez26@gmail.com
🌐 GitHub Profile
⭐ If you liked this project, consider giving it a star on GitHub!