Challenge Overview

Welcome to the HP LPC - Women's Community Savings Android app - define backend data model and REST services challenge.  This project aims at creating a e-ledger mobile application that helps to simplify record keeping by digitizing it, thereby increase accuracy and improve data security.

Problem:

 

75% of the world’s poorest people do not have a formal bank account. Currently there is a solution to these people and it’s called community-based savings groups (also known as village banks) which are specifically designed and targeted to meet the needs of the rural poor for whom access to even the most basic financial services is extremely limited.

 

Client’s award-winning “WORTH Savings-group program” has reached nearly 400,000 women in 14 countries. It is important to understand what this program is about in-order to create this mobile application:

 

- Poor, primarily rural women get together in groups of 25 with a women’s economic empowerment model that integrates savings-led microfinance, literacy and numeracy, group banking, and micro-enterprise development, while strengthening social networks and empowering women to have a voice in their communities.

- Participants in each of the groups save/credit money on a weekly basis.

- The group’s savings are pooled, managed by the group independently, and available in short-term, low- interest loans to members, primarily for income generation.

- At the end of the six-month financial cycle, interest earned is distributed proportionately to group member’s savings, and members can decide to spend or to save it during the next cycle.

 

Currently, when the groups come together for their weekly meetings, all of the village bank transactions are recorded in each of the ledgers by hand. Group financial activity is currently tracked through paper, a system which is time-consuming and with greater opportunity for errors. The handwritten updating of ledgers is very cumbersome and vulnerable to errors - those errors, in turn, are very difficult to reconcile across the varied forms. So, there is an opportunity to further improve this program to more effectively serve its participants

 

Solution - The e-Ledger:

A shift from labor-intensive, handwritten paper records to digital accounting would drastically reduce banking transaction costs and the women’s opportunity costs for WORTH participation. This would also allow the client to enhance and improve existing training on micro-business and capital usage for existing groups while also including more women in the program.

 

This will be an online system (mobile  app) to simplify record keeping, increase accuracy and improve data security:

 

- This mobile application would facilitate the existing record keeping - credits, debits, lending activities, lending calculators, loan repayment schedules, loan tracking, portfolio reporting.

 

The project involves building 2 apps

 Android app for users (standard users & management committee users)

- Admin Tool web app (to be built using node, Django)

 

The Android app requirements are available at the below link 

Android App Requirements

 

The following additional artifacts are available
 

Android app prototype repo on Github

Latest design assets for Android app


Scope

 - For this challenge, we'd like you to build the PostgreSQL data model and define the RESTful web services (micro-services architecture) for the backend for ONLY the Android app (DOES NOT INCLUDE ADMIN TOOL)

- The data model and the RESTful web service definition must fully meet the requirements for the Android app for various use cases/ features mentioned in the requirements document. Note the Android app supports 2 types of users - standard user and MC users and the data model & RESTful web services must support both.

- Note that you do not need to implement the backend services as part of this challenge. That will be handled in a subsequent challenge.

 

 

Key Considerations

 - It is expected the app backend is hosted on Amazon AWS and uses a PostgreSQL database

- The data model and REST service defintion needs to be compliant with the 12-Factor app methodology. A compliance plan has been put in place for the same.

- The solution needs to follow a microservices architecture

 

 


Final Submission Guidelines

Deliverables


1. PostgreSQL data model along with DDL scripts

2. Provide scripts to insert and delete test data

3. Provide a Swagger specification for all RESTful web services. It shoudl be possible to test all web services with meaningful test data.

4. Provide a mapping for Android app screen to corresponding RESTful web service(s)

5. Provide implementation notes for recommended node modules to be used for micro-service implementation (e.g. swagger-microservice, Seneca etc.) with appropriate reasoning.




Review Critiera

1) Completeness of data model and web service definition in terms of coverage for standard user and MC user Android app functionality

2) Compliance with micro-services architecture and 12-Factor App Methodology

 

ELIGIBLE EVENTS:

2017 TopCoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30055522