{"id":28624316,"url":"https://github.com/cewitte/index-100daysofswiftui","last_synced_at":"2026-02-15T22:32:47.686Z","repository":{"id":289276362,"uuid":"970713318","full_name":"cewitte/Index-100DaysOfSwiftUI","owner":"cewitte","description":"An index for all the projects and learnings in Paul Hudson's (@twostraws) 100 Days of SwiftUI","archived":false,"fork":false,"pushed_at":"2025-04-22T12:32:45.000Z","size":4,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-19T07:54:11.228Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cewitte.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-22T12:29:27.000Z","updated_at":"2025-04-22T12:32:49.000Z","dependencies_parsed_at":"2025-04-22T13:46:02.825Z","dependency_job_id":"47552914-dc83-45cb-8a77-57f040d7bb80","html_url":"https://github.com/cewitte/Index-100DaysOfSwiftUI","commit_stats":null,"previous_names":["cewitte/index-100daysofswiftui"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cewitte/Index-100DaysOfSwiftUI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cewitte%2FIndex-100DaysOfSwiftUI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cewitte%2FIndex-100DaysOfSwiftUI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cewitte%2FIndex-100DaysOfSwiftUI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cewitte%2FIndex-100DaysOfSwiftUI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cewitte","download_url":"https://codeload.github.com/cewitte/Index-100DaysOfSwiftUI/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cewitte%2FIndex-100DaysOfSwiftUI/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29490901,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T19:29:10.908Z","status":"ssl_error","status_checked_at":"2026-02-15T19:29:10.419Z","response_time":118,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-12T07:12:04.875Z","updated_at":"2026-02-15T22:32:47.670Z","avatar_url":"https://github.com/cewitte.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📘 Project Index – 100 Days of SwiftUI\n\n## 🔰 Projects 1–3: SwiftUI Fundamentals\n\n### **Project 1: WeSplit**\n- **Description:** A tip calculator that splits a bill among multiple people.\n- **Topics:** `@State`, `TextField`, `Picker`, `Form`, `NavigationView`, `ForEach`, `Section`, `Computed Properties`.\n\n### **Project 2: Guess the Flag**\n- **Description:** A quiz game about world flags.\n- **Topics:** `Image`, `Button`, `Alert`, `VStack`, `ZStack`, `@State`, `clipShape`, `overlay`, `shadow`.\n\n### **Project 3: Views and Modifiers**\n- **Description:** Exploration of how views and modifiers work in SwiftUI.\n- **Topics:** `Custom Modifiers`, `View Composition`, `Modifier Order`, `Views as Properties`, `Conditional Modifiers`.\n\n## 🧠 Projects 4–6: Skill Expansion\n\n### **Project 4: BetterRest**\n- **Description:** An app that helps users calculate the best time to sleep.\n- **Topics:** `DatePicker`, `Stepper`, `DateComponents`, `DateFormatter`, `navigationBarItems`, Machine Learning with `CoreML`.\n\n### **Project 5: Word Scramble**\n- **Description:** A game to form words from a base word.\n- **Topics:** `List`, `onAppear`, `Bundle`, `fatalError()`, `UITextChecker`, `TextField`, `Text`.\n\n### **Project 6: Animation**\n- **Description:** Exploration of basic animations in SwiftUI.\n- **Topics:** `withAnimation`, `animation()`, `transition()`, `gesture`, `scaleEffect`, `rotationEffect`.\n\n## 📈 Projects 7–9: More Complex Applications\n\n### **Project 7: iExpense**\n- **Description:** An app to track personal expenses.\n- **Topics:** `@Observable`, `sheet()`, `onDelete()`, `UserDefaults`, `Codable`, `List`, `NavigationLink`.\n\n### **Project 8: Moonshot**\n- **Description:** An app presenting information about NASA's Apollo missions.\n- **Topics:** `NavigationView`, `List`, `Codable`, `Bundle`, `ScrollView`, `GeometryReader`, `LazyVStack`.\n\n### **Project 9: Drawing**\n- **Description:** Exploration of drawing and graphics in SwiftUI.\n- **Topics:** `Path`, `Shape`, `stroke()`, `transform`, `drawingGroup`, `Color`, `LinearGradient`.\n\n## 📡 Projects 10–12: Working with Data\n\n### **Project 10: Cupcake Corner**\n- **Description:** An app to order cupcakes.\n- **Topics:** `Codable`, `URLSession`, `Form`, `NavigationLink`, `disabled()`, `@Published`, `ObservableObject`.\n\n### **Project 11: Bookworm**\n- **Description:** An app to log read books and ratings.\n- **Topics:** `CoreData`, `@FetchRequest`, `@Environment(\\.managedObjectContext)`, `ImagePicker`, `Alert`, `Sheet`.\n\n### **Project 12: CoreData**\n- **Description:** In-depth exploration of CoreData in SwiftUI.\n- **Topics:** `NSManagedObject`, `FetchRequest`, `SortDescriptor`, `Predicate`, `Relationship`, `Data Persistence`.\n\n## 🗺️ Projects 13–15: Integration with External Frameworks\n\n### **Project 13: Instafilter**\n- **Description:** An app to apply filters to photos using Core Image.\n- **Topics:** `UIImagePickerController`, `CoreImage`, `CIFilter`, `Context`, `Binding`, Integration with UIKit.\n\n### **Project 14: Bucket List**\n- **Description:** An app to mark places the user wants to visit.\n- **Topics:** `MapKit`, Biometric Authentication, Location Fetching, `MapAnnotation`, `CLLocationManager`.\n\n### **Project 15: Flashzilla**\n- **Description:** A flashcard app for studying.\n- **Topics:** `Gestures`, `DragGesture`, `Haptics`, Accessibility, `Timer`, `Stack`, `ZStack`.\n\n## ❄️ Project 19: Advanced Application\n\n### **Project 19: SnowSeeker**\n- **Description:** An app to explore ski resorts around the world.\n- **Topics:** `NavigationSplitView`, `Searchable`, `MapKit`, Accessibility, Adaptive Layouts, iPad Support.\n\n---\n\nThis index covers the main projects of the \"100 Days of SwiftUI\" course. For additional details, challenges, and intermediate projects, please visit the official site: [Hacking with Swift – 100 Days of SwiftUI](https://www.hackingwithswift.com/100/swiftui).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcewitte%2Findex-100daysofswiftui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcewitte%2Findex-100daysofswiftui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcewitte%2Findex-100daysofswiftui/lists"}