Challenge Overview

Welcome to the HP LPC - Women's Community Savings - implement backend Nodejs microservices challenge.  This project aims at creating an 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 available 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)

 During last 2 weeks, we ran challenges to build the data model and the Swagger definition for the API for both the Android app and the Admin tool . The winning submissions from those challenges are attached in the forums.


The Android app requirements are available at the below link 

Android App Requirements

The Admin tool app requirements are available at the below link 

Admin Tool 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 implement the microservices as per the provided Swagger definition for both the Android app backend as well as the admin tool backend. It is expected that the provided implementation notes are followed for choosing various components. Any deviations must be discussed in the forums and approved by the co-pilot/ PM/ client.

- The data model and the RESTful web service implementation must fully meet the requirements for the Android app for various use cases/ features mentioned in the requirements document. 

 

 

Key Considerations

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

- The data model and REST service definition 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

- Source code zip implementing all micro-services. There should be no linting errors.
- Tests are REQUIRED - please include both positive and negative tests and ensure >90% coverage
- Please provide a Postman collection for testing your microservices
- Deployment Guide with configuration and verification information
- Video is NOT required but can be provided if you feel it will assist reviewers in running your submission

ELIGIBLE EVENTS:

2017 TopCoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30055654