Key Information

Register
Submit
The challenge is finished.

Challenge Overview

Project Overview

The client of this application is Sharous, a company that is in progress of starting a mobile-based, location-centric social networking application, also called Sharous. The objective of this project is to build a proof-of-concept and to enrich the idea that they have for Sharous.

Sharous will initially be offered as a mobile application for iOS devices, where users will be able to share their location from their phone in close to real-time, view a world map showing the location of their friends, people around them, and other users, and interact with other users in the map or on their contact list.

The application will also provide standard social networking features such as requesting to add friends, accepting or rejecting friend requests, removing friends, viewing contact (friends) list, posting status message, changing profile and avatar and chat messages.

Given to the real-time nature of the location data in the application, it will greatly help user to find and keep in touch with his/her friends. Users will also be aware of other users in the surrounding, and will be able to chat with them or see their profile, or arrange to meet them offline. This will give them opportunity to meet new people.

Note that the full functionality as described above will be accessible to registered users only (login will be required). Non-registered users will be able to access the application, however only limited version of the world map will be provided, where people are marked as small marker with no avatar and no profile, and the user will not be able to post anything. This can be used as a showcase of the application and to encourage the user to register.

In addition, the system will provide functionalities for administrator to manage problematic users (including deleting or blocking users) and see statistics related to the server.

This project aims to create a proof of concept that, once ready and approved, will be converted to a production ready application to be listed in Apple App Store. In the future, the client also intends to expand the application to other platform, including Android and Windows Phone

One of the challenges in this project is that there are a lot of existing social networks, including some location-based social networks that are available for mobile phone like Foursquare. The application will offer benefits that are not offered in existing networks, such as near real time nature of location update, the map-centric interface in the application.

This contest will provide the detail design for iOS View Controller layer of the iOS application.

Competition Task Overview

This module will provide the complete set of iOS view controllers and other classes required for the Frontend as shown in iOS App View Controllers Class Diagram. SDS 5.3 provides details on the expected view controllers and other processes that will be part of this Frontend. There will also be a prototype available to build on and integrated with the REST client services.

Please note that this is a direct-to-assembly contest.

Prototype

A prototype in the form of an Xcode project will contain the skeletons of the View Controllers and covers the look and feel and navigations.

The first task is to take the prototype and complete the task of removing all artifacts related to simple Frontend presentation (such as dummy Frontend screens and data). The prototype will be based on the same class diagram as this assembly, so there should be minimal need for any adjustments to the views or view controllers. In fact, it is expected that most of the changes will simply involve the addition of the business code in the controllers that needs to interact with the REST Client and other services.

Rest Client Module

The view controllers will use Rest Client to talk to backend services.

Map View Module

The Map View Module Architecture already designs the controller for map view, please consider that to tight it with other views. The Map View is already implemented and integrated in the prototype.

System Process

Refer to SDS 5.1 for a process description. SDS 5.4 describes the REST call for the location information. The used entities are defined in SDS 4.1. Map view information is discussed as well in SDS 5.5.

Documentation Provided

See download section

Submission Deliverables

  • Application Design Specification

  • Sequence Diagrams

  • Class Diagrams

  • Assembly Specification(s)

Submission Guidelines

For each member, the final submission should be uploaded to the Online Review Tool.



Final Submission Guidelines

N/A

ELIGIBLE EVENTS:

2013 TopCoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30032001