This document serves as a record of my progress as I learn iOS development through the "The Complete iOS App Development Bootcamp" course created by Angela Yu. The goal of this project is to become proficient in creating iOS applications using the Swift programming language and the Xcode development environment by following along and completing the projects within the course.
-
I Am Rich: A basic app that displays a diamond on the screen and is used as a demonstration of setting up a new Xcode project and understanding the basics of iOS app development. (Done)
Objectives
- How to create and set up a new iOS project from scratch
- Designing the app in Xcode using iOS components
- adding image assets into the app
- designing and creating a custom app icon
- running the app on a simulator
-
Dicee: A simple app that allows users to roll two virtual dice by shaking their device or tapping a button. Utilized concepts such as handling user input, generating random numbers, and updating the UI.
Objectives
- Designing the user interface.
- Changing UI Elements programmatically.
- Detect user interaction and respond to it.
- Using Swift variables and arrays to store data
- using randomisation in Swift
-
AutoLayout app: A simple app that teaches how to use Auto Layout to create dynamic and responsive user interfaces for iOS applications.
Objectives
- Size classes and orientation.
- Understand and applying Constraints.
- Understand Alignment and Pinnig.
- Using containers for more fine grained control.
- using StackViews
-
Xylophone app: Lets users play musical notes by tapping on colored bars on the screen.
Objectives
- Creating a user interface, handling user input, playing sounds.
-
Quizzler: A Quiz app that allows users to test their knowledge on different topics with multiple choice questions. Utilized concepts such as creating and manipulating arrays, controlling the flow of the app with if-else statements and more.
Objectives
- Using Swift Structures.
- Using Design Patterns like MVC pattern.
- Immutability how it work
-
FlashChat: A messaging app that allows users to send and receieve text messages in real-time .
Objectives
- Using and Dealing with iOS Navigation Controller.
- Using Third-Party libraries/packages using Cocoapods and Swift Package Manager.
- Using FireBase Firestore as Cloud Database.
- Using Firebase Authentication.
- iOS TableViews
- create custom UI with .xib files
- The Complete iOS App Development Bootcamp
- Apple's Developer Documentation
- Swift Programming Language
- Xcode
- The above projects are examples, actual projects may vary depending on the course progression.
- This document will be regularly updated to reflect my progress and any resources I find particularly useful along the way.
Always remember, keep learning, practicing and experimenting