Register
Submit a solution
The challenge is finished.

Challenge Overview

1.1    System Description

The client for this project has decided to build a platform that will support the sale, exchange, and redemption of gift cards between businesses and individuals.  The goal of this platform is to help small businesses expand, using both web and mobile layouts, by giving them a simple way to raise capital and acquire new customers using gift cards.

The client needs to create a high quality platform that is easy-to-use even for business owners that don’t have a lot of technical expertise.  Many business owners are not technologically sophisticated, so creating a platform that is simple to understand and navigate is also a top priority.

The main function of the platform will be to allow business to post virtual gift cards for sale on the platform.  Individual users will be able to browse and buy these gift cards, as well as resell or trade gift cards they own.  Using the mobile layout, users will be able to redeem their gift cards at the business, and the business will be able to process gift card redemption at their point of sale.

This assembly is responsible for refactoring mom_mobile application in the existing codebase.

 

1.2    Competition Task Overview

Time constraint
This project has tight timeline so
1) the review phase is only 24 hours
2) we would like to avoid any timeline extension, please ask questions early

 

1.2.1    Scope

  1. First of all the controllers.js shall be broken down into separate files like it is done the front-end project (“mom_frontend”, for the desktop version) and put into app/js/controllers folder. HTML pages shall be updated relevantly. Follow this angular standard when refactoring the code: 

    https://docs.google.com/document/d/1XXMvReO8-Awi1EZXAXS4PzDzdNvV6pGcuaF4Q9821Es/pub

    There is also template for angular app

    https://github.com/ngbp/ngbp

    It contains many grunt tasks that are useful: minification, lint, html2js (all html templates are merged to single .js file, so app works faster.

  2. Cleanup controllers, services and models to remove functionality not used (if any). However, rather than removing them permanently you should create a "not used" folder and put these pieces of code into dedicated files with descriptive names (controllers and services names). If you doubt if any functionality is needed or not, please ask at the forum.

  3. UI prototype embracing future enhancements is attached. You have to keep these pages in mind when refactoring the existing app structure and also create empty controllers (inlcuding physical files for them) for these future pages with proper (follow Angular best practices) decomposition. Again refer to the front-end project (“mom_frontend”, for the desktop version). 

 

1.2.2    Benchmark

It is supposed that after refactoring all the exisitng functionality works correctly. As a benchmark please use the QA env - qa.foundershare.com.

Browser Requirements (latest versions)

  • Mobile Safari (iOS)
  • Chrome for iOS and Android mobile devices
  • Android Browser


Final Submission Guidelines

A complete list of deliverables can be found in the TopCoder Assembly competition Tutorial at:

http://apps.topcoder.com/wiki/display/tc/Assembly+Competition+Tutorials

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30050710