Peer Reviews
For the peer review assignment, please see this survey which also has the instructions for the task to perform.
Team
Name | |
---|---|
Vinayak (Vin) Ajit Nesarikar | vnesarikar3@gatech.edu |
Prateek Baranwal | pbaranwal3@gatech.edu |
Prahalad Sanjeev Varma | pvarma3@gatech.edu |
Doug Morgan | doug.morgan@gatech.edu |
Partner Info
The Harry Chapin Food Bank of Southwest Florida is the partner organization for this project whose mission is to end hunger in their coverage area. The Food Bank is organized as a hub and spoke model. The main Food Bank headquarters aggregates all of the donations of both money and food. At this headquarters they then distribute the food to what they call “agents” which are the spokes of the model. The agents are actual organizations that distribute the food to people in need which are called “clients”. The agent organizations can range from a few individuals who just want to help to full organizations such as a Salvation Army location.
Presentation
For an overview of the Project, Partner, Problem to Solve and Solution please see this presentation.
Project Demo
To see a Demo of the overall project please see this presentation.
Problem Statement
The Food Bank has a number of important data stores that power their operations such as the Donor data, Volunteer information and internal employee information. One of more critical pieces of information is the Agent data stores which contain all of the aggregated reports. While the Food Bank has a lot of great data, what they lack is last-mile data. In this particular case, the client does not have data around the satisfaction of the food being delivered. For example the client wants to explicitly know “Was the food damaged?”, “How was the quality?”, etc. The client further wants to aggregate this data around client types at a generic level (no PII).
Proposed Solution
The team is proposing a survey solution that can be supplied to either the Agents or Clients to collect the desired last mile data. This solution will likely be deployed as a progressive web application that can be used on either computers or mobile phones. This data will ideally be delivered directly back to the client's internal databases for analysis cross referenced with private Foodbank data.
Mode of Operation / Feedback Mechanism
We are planning to create an MVP version of this solution that we then run by the client (Kevin) for feedback and iteration, in agile style workflow. We will function as a fully agile team. The first kick off with the organization being our understanding of the minimum viable product and incorporate amendments till there is a basic agreement. The development life cycle will be quick weekly sprints with each sprint readout with our TA Dante and the client partner if available. The read-out would demonstrate the current solution and gain feedback, incorporate the feedback change in the next feedback cycle. Any feedback occurring during the sprint cycle in session would get logged in the backlog before they are picked up in the next weekly sprint. Ideally we would like to have a single agency participate in an alpha test run of this during the semester for real world assessment.
Development Life Cycle
We will be using a GIT based service like Github for our code repository and documentation. Development will follow the standard branch from development (dev branch), commit as often as we can and create a pull request for review. Each pull request would contain the unit test cases and would have to get approved by the peer reviewer of the pull request prior to the merge with the dev branch. End of each sprint would call for dev branch merging into main branch after performing the end to end integration test cases. Initially we might start with performing these tests manually and use GitHub Project Planning to keep a journal on the test conducted and passed. If time permits we will add a continuous integration agent to our repo to automate the unit test cases. Additionally, the test cases will keep expanding till we have sufficient code coverage to build trust in our software. The deployment would be based on dockerized containers. The code repo will have the docker config and end of each sprint a weekly container build will be checked into docker central. We aim to be compute system agnostic and our client partner shares that vision with us.
Alpha Test Rollout
- Develop MVP
- Deploy MVP
- Alpha Test MVP with client
- Collect real world user experience and issues
- Improvise the solution
Team Members and Responsibilities
We are a very cross-functional team so any responsibilities and role associated here would either rotate or adjust based on our weekly progress to our individual commitments. The non-binding nature is to incorporate continuous improvement and bring forward our maximum potential as a team and not any specific individual.
Name | Role |
---|---|
Doug Morgan | Scrum leader / Full stack development |
Prahalad Sanjeev Varma | UI/UX research and development |
Prateek Baranwal | Backend application development and deployment |
Vinayak (Vin) Ajit Nesarikar | Fullstack Developer |
Initial Design Architecture
The design choices are based on initial understanding of the scope of the problem and is subjected to change.- Frontend responsive webapp written in react js framework to be multi-screen compatible
- Django/Flask based python server for API backend
- Postgres Database with ORM adapters with backend
- Dockerize images for deployment builds and orchestration