A Family Promise

Ashish Goomar
6 min readMay 27, 2021

Hello there! My name is Ashish Goomar. I’m a full stack web developer and I’ve attended Lambda School since the start of November 2020. This is a six month boot camp for people looking to become a full stack web developer and during these six months, we learn the basics starting from HTML and CSS, to front end development (JavaScript, React, Redux, etc.) and then to back end development (Node/Java, Express, API, PostgreSQL). These skills that we refine over and over in these six months are put to the test in what Lambda calls Labs, which we get the opportunity to work with an actual non-profit organization and showcase our developer skills alongside other students, in which we are given a roadmap to follow and implement what they want. This non-profit organization that I am fortunate to work with is called Family Promise.

What is Family Promise?

30 years of helping families

Family Promise is a nationwide organization whose mission is to help homeless and low-income families achieve sustainable independence. Started by Karen Olson in 1986, they have helped provide services to more than 100,000 people annually and gather volunteers up to more than 200,000 people. This scale is quite mind blowing and it’s amazing to be able to work with this organization that is helping families and the homeless out there.

What’s the project?

When an organization this size is serving that many people out there per year, there has to be some type of service tracking, correct? Well, that is where we come in. Family Promise Service Tracker is where we, a team of 9 developers, develop a system to monitor and track various services they’re providing to families across the US. Service Providers can log details about the services they are offering and administrators and program managers can see the analytics of these services and reports, as well as add recipient info. We take in from what the previous Labs team have put in and since this is the second month since this project began, and with that being said, it came with some challenges.

Deep Dive Into the Project

With the roadmap presented to us and the expectations set, the team and I met and divided the work amongst the nine of us. Three of them went on to work on the back end and the six of us were to work on the front end development of the project. Our team would come up with tasks on our Trello boards and it was honestly a first time of us actually using it often and I have to say it has helped us stay very organize throughout the whole Labs month. Anyways, I took on the work of front end development, more specifically in the recipients and household field of creating redux for recipients from scratch and the table to display the recipient data and my other front end developer teammate took on creating the recipient and household forms.

Redux Store

Recipient redux
Household redux

As I stated earlier, going into this project came with some challenges. These challenges included no redux created for the recipients and no recipients table made, however the landing page and dashboard was created before it was handed off to us. With that being clear and what our next step is, I went to work on creating the redux action and reducers for the recipients and households from scratch. Creating the redux state for the recipients allowed the other developers who were working on the service section to map the state and pull in the recipient data, populating their table that needed the recipient information as well as populating their service forms. In our case, it allowed us to the CRUD operations for admins so they can go in and create, read, update and delete recipients as well as have households data of the individual recipients. Thankfully, the only small challenge that I faced during creating the redux store was spelling errors which were quickly caught by my teammate reviewing my code, which I cannot stress enough that it is super important to always have an extra pair of eyes look over your code.

Gather Around the Table

Recipient Table

Our next challenge came with creating the recipient table. My partner for this section created the recipient and household forms as well as making it render on the recipient tab which in turn populates the table. With those being made, I was able to start on creating the recipient table which turned out to be a hassle at first because this was my first introduction of AntD (Ant Design) which was primarily used in the last Labs group to create the tables for each tab that we have and for styling the webpage. At first glance it was overwhelming but looking into it deeper and getting a better understanding of it from one of the service developers, I began to know how AntD works and what functions you can put on the table (Filter, Search, Sort, etc.) so I implemented those functions onto the recipient tables. Having those functions allowed the user (administrators/program managers) to easily filter through recipient tables and at the respective columns, especially for household data (City, State, Zip Code, Address) which helps their service tracking needs of which recipient are apart of which household.

Recipient Table Functionality

What’s Next?

As this month progressed, we were able to built out a fully functional recipient and service table, along with the database for both services and recipients, however there is only so much you can do with a limited amount of time in Labs. Given more time, I would love to have worked on the metric portion of this project so we can actually display the numbers and data they want to track. Overtime during this project and working with my fellow developers, I’ve learned to be less stubborn in my way of thinking and implementing changes that are suggested rather than going on my own course of action. I have also learned from my backend developer teammate that visual representations of whatever project you are working on helps a lot to further streamline the process and gives you an idea of what you want to build and in our case, it has helped a ton (It’s a big image so here is the link to it: Image Link). She has also came up with a visual representation to show the next Labs group of how metrics can be done, if they choose to follow: (Metrics).

I suspect it would be a difficult feature to implement considering there is a lot to map out and to get the numbers correct and changing always. My hope is that the next developers who are coming to work on this project are excited to work with a clear and functional codebase and are able to implement metrics into the project with a possibility of showing a live map of where services are provided at. Working with this organization helped me realize of how it can be working in a company setting and using what I’ve learned right away and seeing firsthand of how far I’ve come since I started Lambda School. We are proud of the progress we have made in a month and getting the chance to work with this non-profit organization that is making a difference around the U.S. and helping families and the homeless in need, bringing happiness and prosperity to their lives.

--

--