Challenge Overview
Project Overview
This project aims to create an entire platform with the goal of supporting and expanding small businesses everywhere, using both web and mobile applications. We are looking for experienced members to help us make our vision of an attractive, user-friendly platform a reality. This project presents a unique opportunity to make a real difference in the world. As most people know, small business is the backbone of any economy. Unfortunately, small businesses have the most difficult time raising money, finding customers and being able to apply new products and approaches to help their businesses grow. Client has set out an ambitious goal to change this and we need someone to help us realize our goals.
Challenge Task Overview
- Being provided a standard TC Conceptualization and wireframes the contestants have to design the software at the system level.
- Please note that the web app target both desktop and mobile layout and functionality will differ a bit between them.
- The will be a few pages (About Us, Terms & Conditions, Privacy, Credits page, Feedback, Blog) to be facilitated by CMS. Picking up a right CMS to fit with Angular and Node.js is up to the Architect.
- Architect must design the back-end interfaces and DTO classes.
- Data model (ERD) must be defined at the level of entities and back-end module architecture must include a task to complete it.
- ReSTful API must be documented.
The following issues must be considered in this contest:
- integration with QR service
- integration with social media
- locations management
- module architecture specs; they all will be straight to assembly, no components.
- CMS functionality and solution choice
- specs for module architetures, UI prototypes, single integration assembly
- security system
- choosing payment gateway and Internet merchant service provider; system level integration details must be elaborated
- Design with analytics module in mind
- Scalability and future high load
Scope definition
It will be a web application with 2 layouts: desktop/tablet and mobile. Their features sets have a lot in common but still differ.
Minimum Viable Product - Web layout
Home (a basic display of gift cards - no sorting/filtering functionality)
Forums
About Us
Terms & Conditions
Privacy
Credits page
Feedback
Blog
Sharing to social networks
Inviting friends from social networks
Logging
Login/Logout/Forgot password (includes creating an account or using social login):
1. individual --> create a profile, buy gift card, resell (no trading yet), transaction history (basic, presented in a table)
2. business --> create a profile, request validation, post a gift card offer, cancel a gift card offer, reporting on open posting, transaction history for redeemed gift cards (basic table), add/modify/delete employee, pay membership fee
3. platform employee --> validate business (checkbox only platform employee can mark for now)
Note: only accept payments through credit cards (Visa/Mastercard) for this phase but design keeping PayPal method in mind.
Minimum Viable Product - Mobile layout
Login/Logout/Forgot password (includes creating an account or using social login):
1. employee --> employee login from the business profile page, manually type receipt total, scan the individual's QR code and finalize transaction
2. individual --> view owned gift cards, click redeem now, generate QR code
3. leaving feedback
4. logging
- The web site pages must be indexed by search engines. With angular.js it might require some extra effort, so this issue should be elaborated.
- Wireframes take precedence over BRD in case of any discrepancies.
- Use cases beyond the features listed above out of scope for this phase, however, the design shall not prevent adding them later.
Technology stack
- Node.js for the back-end;
- Angular.js for the front-end;
- Database and CMS are up to the architect (must be discussed at the forum if requires license);
- Open source technologies are highly preferable. Any technology that requires license shall be brought up at the forum and explicitly approved by the client.
Final Submission Guidelines
- System Design Specification (SDS) document written in an MS Word compatible document.
- Class and sequence diagrams authored using the TopCoder UML tool.
- Downstream competitions specifications (module architectures, UI prototypes and Assembly/Code for the CMS-based part of the wesite)