Challenge Overview
Welcome to the HP LPC - Women's Community Savings Admin Tool 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)
Last week, we ran a challenge to build the data model and web services for the Android app. The winning submission from that challenge is attached in the forums. The Admin tool requirements are available at the below link
The following additional artifacts are available
Admin Tool Wireframes (access info in forums)Latest design assets for Admin Tool
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 Admin Tool (Already built for Android App and attached in forums)
- The data model and the RESTful web service definition must fully meet the requirements for the Admin Tool for various use cases/ features mentioned in the requirements document. All user types mentioned must be supported
- 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. We envision the admin tool will be built using NodeJS and Django.- 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
Deliverables1. 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 Admin Tool 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 Admin tool functionality
2) Compliance with micro-services architecture and 12-Factor App Methodology