App for Making Friends (Development)
I implemented a mathematical algorithm for choosing the best matches based on mutual interest, age, gender, and expertise. The app features a profile function, messaging, and photo sharing function. I implemented the matching algorithm on the back-end server with combination of PHP and MySQL. This needs some optimized join mechanism for better performance. The MySQL database architecture was optimized to improve the performance and ensure integrity. Laravel PHP framework was used for back-end logic and REST API calling. I used some CocoaPods like JSQMessage, AFNetworking, Aviary, etc., to expedite the development.
Question & Answer App (Development)
An app that gets answers from users on the prepared questions. The users can choose question lists, answer questions, and keep results. This app can work offline in case there is no internet connection and sync answers and questions flexibly when there is a connection. I used CoreData and Parse for this app. Parse is used because the app needs a relatively simple database structure and NoSQL is better then SQL. CoreData is used because there was a need to store data locally in case of no internet connection. Magical Record was used for ensuring the quality of code and reducing performance time. Parse Cloud code was used for improving the performance of back-end services since it utilizes batch processing of parse services.
Video Group Conference App (Development)
An app that allows multiple personal or business users have group video conference. This app provides two roles for personal users and business users. Users can make acquaintances based on similar hobbies, characteristics, and location. Users can set a proximity that can be a boundary of friendly community and other information.
Once a user makes some friends, he/she can initiate a group video conference with friends and invite them. Invited users can attend and have video or voice calls according to their decision. There are some additional functions like sending automatic greeting messages to users who come within the proximity of a business user.
I used Parse as the back-end and ooVoo for video streaming.
I utilized Parse DB, push notifications, cloud code, and proximity searching capability and added Apple Maps for geolocation. ooVoo, TokBox, and QuickBlox were the candidates for video chatting since I have experience with all of these, however, the client wanted to use ooVoo for this app.
I also used Parse Facebook Login module.
Video Messaging App (Snapchat style) (Development)
Very similar to Snapchat. The user can add friends by inviting with email or SMS directly. The user can browse his/her contact book and the contacts are broken into already-registered users and outside contacts. The user can select those contacts and send bulk invitations.
The user can send video messages or pictures recorded or fetched from the camera album to multiple users at once. The users who get those videos can also reply with their messages. There are many states keeping users in the know about the status in real time.
I used Parse and GoDaddy-hosted PHP server on the back-end. Video messages are transmitted in parallel with help of Semaphore. Email invitations are sent using Mandrill service and SMS invitations are sent using Twilio service. Every action is notified immediately using Parse push notification. The app used Core Data to sync data with the back-end DB so that users won't wait longer to see the bulk information. I used AVFoundation to capture video and some photo/video frameworks including Aviary to tweak the functioning.
Event App (Development)
This app initiates events. You can create events with a name, beginning date and time, ending date and time, location, etc. You can invite contacts by phone and invited parties can attend according to their needs. When the event begins, users can exchange words and record photos and short videos until the event is over. After that, we can look through the past events by playing slide show of photos taken.
The back-end is established on Heroku along with Ruby and PostgreSQL. The front-end is developed with SWIFT 1.2 and upgraded to version 2.1.
Retail Store App (Development)
This app allows users buy shoes online. The app targeted massive users so we decided to use MongoDB as the data store since it is very good for big data. In the app, the user can see the available shoes from several stores and buy one online using their cards. This is implemented based on MongoDB & Node.js in the back-end and Ionic in the front-end using AngularJS. The payment gateway is implemented using Stripe API which is the most popular solution in mobile payment. Since Ionic is a cross-platform framework, the app was launched as iOS and Android versions at the same time thanks to Cordova.
Cross-platform Event Discovery App (Development)
This app helps users find the events that are ongoing or about to begin near them. The user can find clubs, restaurants, movies, concerts and so on and get the information about those events. The user can search this kind of events using some filters and choose one to attend. He/she can also invite his/her friends. The client wanted to launch the iOS and Android versions and we decided to build a cross-platform app based on Ionic. Here, in this app, some social networking feature were needed and we integrated Cordova Facebook SDK into the app so that the users can sign up or login with their facebook profiles.