Portfolio
iOS Projects available in the App Store
Quicktab
Contactless dining at your fingertips. Quicktab creates a digital way for restaurant guests to view the menu and order food all from their phone.
As part of the requirements in completing my post-graduate program studies at George Brown College, I worked as an iOS Developer Intern at Dyne Techologies, Inc. and was able to work on and provide contributions to the company’s flagship iOS app called Quicktab.
App Landing Page Creation
Implemented the Landing Page screen for the app that will allow users to browse through different restaurants supported by Quicktab and view the restaurant details (photo image, address, opening hours, menu, ratings, etc.). Highlights for this feature include the following:
- Consumption of Google Places REST APIs to allow display of restaurant information such as address, opening hours, ratings, photo images and reviews.
- Implementation of Apple Core Location services for location-based restaurant check-in and display of nearby restaurants.
- Implementation of services provided by MapKit to show selected restaurant location map.
- Implementation of access to Firebase’s Firestore database to retrieve additional information from the restaurant that is not provided by the Google Places API.
Code Refactoring
Refactored the Navigation Menu and Log-in screens of the Quicktab app so that constraint-based layout of user-interface objects will be implemented programmatically instead of using Storyboards.
Custom View Development
Created custom views to be used in different view controllers within the Quicktab app such as custom swipe buttons and custom user-input views.
App Improvements
- Added dining party invite functionality within the application’s Welcome screen.
- Implemented location-based check-in function that will allow a user to join a dining session only when the user is in within the restaurant’s vicinity.
- Implemented improvements in existing application features which include feature changes in the Menu, Order and Billing screens as well as utilities used for dining session transactions.
App Debugging and Testing
Participated in the testing and debugging prior to Quicktab app releases as well as implementation of UI and feature improvements for the app based on user feedback. Significant debugging contribution include fixes to QR code-based restaurant check-in function as well as bug fixes to UI layout issues found within the Menu, Order and Bill payment screens.
As part of the requirements in completing my post-graduate program studies at George Brown College, I worked as an iOS Developer Intern at Dyne Techologies, Inc. and was able to work on and provide contributions to the company’s flagship iOS app called Quicktab.
App Landing Page Creation
Implemented the Landing Page screen for the app that will allow users to browse through different restaurants supported by Quicktab and view the restaurant details (photo image, address, opening hours, menu, ratings, etc.). Highlights for this feature include the following:
- Consumption of Google Places REST APIs to allow display of restaurant information such as address, opening hours, ratings, photo images and reviews.
- Implementation of Apple Core Location services for location-based restaurant check-in and display of nearby restaurants.
- Implementation of services provided by MapKit to show selected restaurant location map.
- Implementation of access to Firebase’s Firestore database to retrieve additional information from the restaurant that is not provided by the Google Places API.
Code Refactoring
Refactored the Navigation Menu and Log-in screens of the Quicktab app so that constraint-based layout of user-interface objects will be implemented programmatically instead of using Storyboards.
Custom View Development
Created custom views to be used in different view controllers within the Quicktab app such as custom swipe buttons and custom user-input views.
App Improvements
- Added dining party invite functionality within the application’s Welcome screen.
- Implemented location-based check-in function that will allow a user to join a dining session only when the user is in within the restaurant’s vicinity.
- Implemented improvements in existing application features which include feature changes in the Menu, Order and Billing screens as well as utilities used for dining session transactions.
App Debugging and Testing
Participated in the testing and debugging prior to Quicktab app releases as well as implementation of UI and feature improvements for the app based on user feedback. Significant debugging contribution include fixes to QR code-based restaurant check-in function as well as bug fixes to UI layout issues found within the Menu, Order and Bill payment screens.
Business Sleuth
An easy to use tool that will help you search and connect with businesses and professional services.
Business Sleuth
Software Features
- Easy to use interface. Just enter the business name and location and tap on the search key to start searching for nearby businesses or services.
- Search engine is powered by Yelp.
- Clickable search result that will allow user to see the business details such as address, phone number, rating, map, user reviews, etc...
- Settings screen that will allow user to sort search behavior results according to rating, distance, review count and best match.
- Provides the capability to launch external applications to call a business or navigate towards the business location.
Design Concepts / Technologies Used
- UIKit
- Auto-layout
- MVP design pattern
- REST API consumption
- Core Location
- Yelp Fusion API
- Custom Views
- View Animation
- MapKit
- IBDesignable/IBInspectable
- UserDefaults
- AdMob
- String Parsing (for business url detection)
- CocoaPods
Business Sleuth
Software Features
- Easy to use interface. Just enter the business name and location and tap on the search key to start searching for nearby businesses or services.
- Search engine is powered by Yelp.
- Clickable search result that will allow user to see the business details such as address, phone number, rating, map, user reviews, etc...
- Settings screen that will allow user to sort search behavior results according to rating, distance, review count and best match.
- Provides the capability to launch external applications to call a business or navigate towards the business location.
Design Concepts / Technologies Used
- UIKit
- Auto-layout
- MVP design pattern
- REST API consumption
- Core Location
- Yelp Fusion API
- Custom Views
- View Animation
- MapKit
- IBDesignable/IBInspectable
- UserDefaults
- AdMob
- String Parsing (for business url detection)
- CocoaPods
iOS Projects available in GitHub
Live Fit Food Ordering App (SwiftUI/Combine version)
A mock ordering app for the livefitfood.ca website implemented using the SwiftUI and Combine frameworks.
Live Fit Food Ordering App (SwiftUI/Combine)
Software Features
- Unified sign-in and sign-up features.Email validity check during sign-up.
- Mealkit list display with name, description and price.
- Detailed view of mealkit when clicked showing meals that are available for the package.
- Tip selection option during checkout.
- Order history display.
- Optional coupon application for additional discount to meals that were purchased.
- Daily mini-game that allows the customer to win a coupon.
Design Concepts / Technologies Used
- Persistent data storage using the Apple's Core Data framework
- SwiftUI framework
- Combine framework
- MVVM design pattern
- Use of Navigation, Stepper, Picker and other SwiftUI views
- Core Location
- Table View Controllers and custom table view cells
- Core Data entity relationships
- Use of property wrappers such as StateObject, ObservedObject, EnvironmentObject, etc...
- JSON Decoder for JSON file to Core Data managed object conversion
- Database migration from JSON file to sqlite
- Custom SwiftUI view based on UIImagePickerController using UIViewControllerRepresentable for camera and photo library pictures
- Alert and Full screen sheet views
- Shake gesture detection
Live Fit Food Ordering App (SwiftUI/Combine)
Software Features
- Unified sign-in and sign-up features.Email validity check during sign-up.
- Mealkit list display with name, description and price.
- Detailed view of mealkit when clicked showing meals that are available for the package.
- Tip selection option during checkout.
- Order history display.
- Optional coupon application for additional discount to meals that were purchased.
- Daily mini-game that allows the customer to win a coupon.
Design Concepts / Technologies Used
- Persistent data storage using the Apple's Core Data framework
- SwiftUI framework
- Combine framework
- MVVM design pattern
- Use of Navigation, Stepper, Picker and other SwiftUI views
- Core Location
- Table View Controllers and custom table view cells
- Core Data entity relationships
- Use of property wrappers such as StateObject, ObservedObject, EnvironmentObject, etc...
- JSON Decoder for JSON file to Core Data managed object conversion
- Database migration from JSON file to sqlite
- Custom SwiftUI view based on UIImagePickerController using UIViewControllerRepresentable for camera and photo library pictures
- Alert and Full screen sheet views
- Shake gesture detection
Live Fit Food Ordering App (UIKit version)
A mock ordering app for the livefitfood.ca website implemented using the UIKit framework.
Live Fit Food Ordering App (UIKit)
Software Features
- Unified sign-in and sign-up features.
- Email validity check during sign-up.
- Mealkit list display with name, description and price.
- Detailed view of mealkit when clicked showing meals that are available for the package.
- Tip selection option during checkout.
- Order history display.
- Optional coupon application for additional discount to meals that were purchased.
- User location tracking to determine whether user is within business location vicinity.
- Daily mini-game that allows the customer to win a coupon.
Design Concepts / Technologies Used
- Persistent data storage using the Apple's Core Data framework
- Auto-Layout
- Navigation Controller and Segues
- Core Location
- Table View Controllers and custom table view cells
- Core Data entity relationships
- Data passing between segues
- SwiftyJSON library for JSON parsing operations
- Database migration from JSON file to sqlite
- UIImagePickerController for camera and photo library pictures
- UIAlertController for popup alerts
- Shake gesture detection
Live Fit Food Ordering App (UIKit)
Software Features
- Unified sign-in and sign-up features.
- Email validity check during sign-up.
- Mealkit list display with name, description and price.
- Detailed view of mealkit when clicked showing meals that are available for the package.
- Tip selection option during checkout.
- Order history display.
- Optional coupon application for additional discount to meals that were purchased.
- User location tracking to determine whether user is within business location vicinity.
- Daily mini-game that allows the customer to win a coupon.
Design Concepts / Technologies Used
- Persistent data storage using the Apple's Core Data framework
- Auto-Layout
- Navigation Controller and Segues
- Core Location
- Table View Controllers and custom table view cells
- Core Data entity relationships
- Data passing between segues
- SwiftyJSON library for JSON parsing operations
- Database migration from JSON file to sqlite
- UIImagePickerController for camera and photo library pictures
- UIAlertController for popup alerts
- Shake gesture detection
Android Projects available in GitHub
Tokyo 2020 Tourism App
Tourist information app for the Tokyo 2020 Summer Olympics Game.
Tokyo 2020 Tourism App
Software Features
- User login and registration screen.
- Navigation menu that will allow users to access the different functions available within the app.
- Toolbar allowing users quick-access to sms, call, email and logout functions.
- Display clickable list of tourist attractions within Tokyo.
- Detailed display of Tokyo attraction with ability to show video of attraction, add it to wishlist option and set a rating.
- Ratings display for each attraction with aggregate rating from all registered users.
- Display of all scheduled games in the olympics as well as game schedules for a specific day specified by the user.
- Ability to set a reminder for an scheduled olympic game event.
- Admin interface that will allow users with admin privileges to add a tourist attraction in the sqlite database.
Design Concepts / Technologies Used
- Room persistence library and sqlite read/write operations and target-specific queries
- Linear and Frame layouts, Fragments, WebView, Navigation Drawer, Toolbar, Intents, ListView
- Passing of data between activities using intents
- Android Youtube Player library
- Custom ListView adapters
- Call and email intent and permission handling, SMS permission and SMS Manager
- Calendar scheduling with notifications display
Tokyo 2020 Tourism App
Software Features
- User login and registration screen.
- Navigation menu that will allow users to access the different functions available within the app.
- Toolbar allowing users quick-access to sms, call, email and logout functions.
- Display clickable list of tourist attractions within Tokyo.
- Detailed display of Tokyo attraction with ability to show video of attraction, add it to wishlist option and set a rating.
- Ratings display for each attraction with aggregate rating from all registered users.
- Display of all scheduled games in the olympics as well as game schedules for a specific day specified by the user.
- Ability to set a reminder for an scheduled olympic game event.
- Admin interface that will allow users with admin privileges to add a tourist attraction in the sqlite database.
Design Concepts / Technologies Used
- Room persistence library and sqlite read/write operations and target-specific queries
- Linear and Frame layouts, Fragments, WebView, Navigation Drawer, Toolbar, Intents, ListView
- Passing of data between activities using intents
- Android Youtube Player library
- Custom ListView adapters
- Call and email intent and permission handling, SMS permission and SMS Manager
- Calendar scheduling with notifications display
Web App Projects available in GitHub
Alien Addition Math Game
An Educational Alien Shooter Game for Kids.
Alien Addition Math Game
Software Features
- Interactive menu for selecting game option (rules, selecting difficulty level, audio mute ON/OFF).
- Randomized math question display for each spaceship.
- Randomized speed for target spaceships when descending.
- Saving and loading of game state.
- Game sound and sound effects.
- Score tracking with hit/miss percentage info.
Design Concepts / Technologies Used
- HTML5, CSS3, JavaScript
- Flexbox and Grid layouts
- Persistent data storage using Local and Session storage APIs
- DOM manipulation
- Multiple web page application
- Responsive page layout
- Timer Intervals
- Event Listeners (keypress and touch/click)
- Collision detection of objects
Alien Addition Math Game
Software Features
- Interactive menu for selecting game option (rules, selecting difficulty level, audio mute ON/OFF).
- Randomized math question display for each spaceship.
- Randomized speed for target spaceships when descending.
- Saving and loading of game state.
- Game sound and sound effects.
- Score tracking with hit/miss percentage info.
Design Concepts / Technologies Used
- HTML5, CSS3, JavaScript
- Flexbox and Grid layouts
- Persistent data storage using Local and Session storage APIs
- DOM manipulation
- Multiple web page application
- Responsive page layout
- Timer Intervals
- Event Listeners (keypress and touch/click)
- Collision detection of objects