iOS Trivia app that uses OpenTriviaDatabase API
- Implemented in SwiftUI
- MVVM Architecture
- API Fetching and JSON decoding
- Light and Dark Mode UI
- Relative Component Sizing / Positioning
- Responsive User Interface for iPhones
Project Structure
./iOSTrivia
βββ Assets.xcassets
β βββ AccentColor.colorset
β β βββ Contents.json
β βββ AppIcon.appiconset
β β βββ Contents.json
β βββ BackgroundColor.colorset
β β βββ Contents.json
β βββ Contents.json
β βββ ContrastColor.colorset
β βββ Contents.json
βββ Components
β βββ OptionButton.swift
β βββ ProgressBar.swift
βββ Extensions
β βββ Extensions.swift
βββ Models
β βββ Answer.swift
β βββ Category.swift
β βββ Question.swift
βββ Preview Content
β βββ Preview Assets.xcassets
β βββ Contents.json
βββ Services
β βββ TriviaService.swift
βββ ViewModels
β βββ ContentViewModel.swift
β βββ QuestionsViewModel.swift
β βββ TriviaOptionsViewModel.swift
βββ Views
β βββ ContentView.swift
β βββ QuestionsView.swift
β βββ TriviaOptionsView.swift
βββ iOSTriviaApp.swift
Screen.Recording.2022-08-27.at.6.42.16.PM.mov
Trivia questions and category obtained from https://opentdb.com