Cancelado

iOS - Ruby on Rails Synchronisation Feature

We are looking for an experienced iOS developer to help add synchronization features to our iOS app.

We're looking for an iOS developer to add some functionality to our iOS app and establish basic syncing with a web application.

## Deliverables

We're looking for an iOS developer to add some functionality to our iOS app and establish basic syncing with a web application.

**Background**

We are a startup located in Montreal that sells a web and iOS app to help companies conduct environmental, health, safety and quality audits and keep track of legislation.

Web app: <[url removed, login to view]>

iOS app: <[url removed, login to view]>

The main functionality of the iOS app (mainly used on iPads) provides checklists for companies to conduct their audits and check off items. Users can create their own checklists or choose one from a list of templates.

You'll be working in close communication with our lead developer.

**Step 1: Company Templates**

We would like to start off with a small project to familiarize the developer with the codebase.

The goal is to add a new type of checklist to the app.

Right now there are two types of checklists:

1) public checklist templates (available to all users in the system)

2) the actual checklists themselves, which can be created manually or from a public template

We want to remove the actual checklists in the UI and replace them with a third type called "company templates", which are just like public templates but only accessible to the users who work at a certain company.

This involves adding a new menu item to the UI for the company templates.

**JSON API**

The iOS app is pulling in public templates from our web app via a REST JSON API and we want to do the same for company templates. So familiarity with parsing JSON APIs is a must.

**Step 2: Syncing**

The next and most important project will be to get the checklist data syncing between the iOS apps and our web application (built with Ruby on Rails). This will be a larger project and familiarity with syncing is a big plus.

If a user completes an audit and checks off a checklist item on their ipad, they can then press a "Sync" button and the item will show up as completed on the web app. We will need to sync Notes, Statuses, Requirements, More Info and eventually media via an Amazon S3 storage server.

We're only looking to implement basic syncing, not a complex system with perfect data replication.

The rails app will be the central database. The mobile devices just have to do a one-to-one sync (both upload and download data).

**Implementation**

We've determined two strategies for implementing the syncing system. We'll sit down with the developer to determine which one is best.

**1) **Using <[url removed, login to view]> and creating a queue of notifications whenever data changes on the app.

For example, the iOS app would send a notification to Pusher saying "User id 592 completed checklist_item id 4346" to our web app, which would then parse that and update the main database. The iOS app would also need to parse these type of notifications that come from our web server and update the local data on the iPad.

There is a pusher library for objective-c available: <[url removed, login to view]>

**

**

**2)** The alternative is to use [[url removed, login to view]][1] (or something similar)

Our web app already has a full REST API with documentation<[url removed, login to view]>

This comment on Stackoverflow also explains the basic strategy of using JSON:<[url removed, login to view]>

Of course, we're open to hearing the iOS developers thoughts on the best way to implement syncing.

Habilidades: Cocoa, Mobile App Development, MySQL, PHP, Arquitetura de software, Teste de Software, Hospedagem Web, Gestão de Site , Teste de Website

Ver mais: www developer apple com, web startup developers, web project documentation template, web developer ruby on rails, web developer montreal, web developer looking for startup, web developer looking for a startup, web developer companies list, web developer at apple, web application requirements template, web application documentation template, web and mobile templates, web and mobile app developers, we are a startup looking for web developer, we a looking for ruby developer, update ios on ipad 1, update ios 8, ui templates web, ui checklist, types of audit, templates web developers, templates ruby on rails, templates for library, system.mobile.ui, sync ios

Acerca do Empregador:
( 48 comentários ) Montreal, Canada

ID do Projeto: #3569604