Portfolio
I’ve been developing iOS applications for more than three years, by interoperating both Objective-C and Swift to code.
I enjoy learning new skills, the time and effort invested in developing software have made me qualified to take on challenging projects.
Working in this industry I have gained the necessary tools that aid me in becoming a better software developer, especially the challenges that each project has to offer from delivery, development, innovation, my clients’ satisfaction, and most importantly the everlasting obtained knowledge.
Below are a number of selected apps from my portfolio
CityNabz
Language: Objective-C
Tools: AFNetworking, REST API, Push Notifications, Location Services, Google Maps, Social login/Share
Design Pattern: MVC
Version Control: Git
CityNabz is an entertainment & activities app that lets users check for fun events around them based on their location.
In Early 2016 while working at Ogma Inc. I was assigned to be part of the development team that was working on this project. At first, my main responsibilities were updating the design by using AutoLayout to make sure everything scales beautifully on all iPhone screen sizes, creating custom reusable views that would be incorporated into the project, & fixing design issues, but as time passed by I became more involved in the development process. The project was developed using Objective-C, some CocoaPods & third party libraries used in this project are AFNetworking, GoogleMaps, Google & Facebook login, Google Analytics to name a few.
In 2017, I became responsible for maintaining & updating the project, managing any new features that would come up as the app progressed over time, also leading junior developers so that they grow their development skills.
Some of the responsibilities were:
- Setting up local notification
- Handling push notifications
- Caching data
- Getting data using REST API's
- Creating interactive custom reusable views
- Memory management
- Social Login & Share
Don't Get Cold
Language: Swift 5
Tools: REST API, Location Services, Today Extension
Design Pattern: MVVM
Version Control: Git
Don't Get Cold delivers weather forecast with a simple yet contemporary design.
In 2018, I started this personal project by accessing data from OpenWeatherMap, which offers free Weather APIs, one of the most important features implemented is Location Services, the app gets access to the current weather & sixteen-day forecast APIs. The app gets the users location & based on the city that they are in it displays the temperature with beautiful background images that are based of the weather condition and the local time of that city, the user can select any city to see the weather conditions with all of it's detail & a sixteen-day forecast. They also can add any city from the provided data of OpenWeatherMap to their list, which then I cache & save the added cities on the users device with the selected temperature measurement.
This is an open source project here's the github link: Don't Get Cold.
Emoji TicTacToe
Language: Swift 5
Tools: Firebase, AdMobs, In App Purchases, Apple Watch support, Localization
Design Pattern: MVVM
Version Control: Git
Emoji TicTacToe is a modernized version of Noughts and Crosses, which uses emojis instead of X & Os.
I've created this project using Swift as a fun way of showcasing my skills as a programmer, I used Auto Layout to scale their pixel-perfect designs to the various sizes of iPhone and iPad devices.
The game has a custom built AI which the user can play with by selecting one player mode, the AI has three difficulties easy, medium, and hard. the saved gets saved automatically whenever the user gets a phone call.
Chronicon
Language: Objective-C
Tools: AFNetworking, REST API, Notifications
Design Pattern: MVC
Version Control: SVN
Chronicon was the first project that I worked on at Ogma Inc. it's a Calendar that basically showcases the holidays & celebration of religious, secular, & other events of different cultures.
In 2015, the app was going through major feature improvements with a new design and updated data base. I used Autolayout to ensure that everything scales perfectly across all screen sizes for both iPhone and iPad. AFNetworking was used to handle network calls and access data from the backend, which was then sorted in-order to display the current events, the users could scroll back and forth to see past, present and future holidays.
From the settings page, the users were able to select any calendar, and the option to get notified. I was able to set up the notification for future events of the selected calendars.
The project has been discontinued.