My Experience With Lambda Labs
I began my journey with Lambda School in September 2019. Lambda School is an accelerated program with an immersive (full-time, 40+ hours/week) hands-on curriculum with a focus on computer science, software engineering, and web development. Lambda Labs is the ending curriculum of the program which is engineered to equip you with real-world product development experience that stimulates future workplace environment.
The Boys & Girls Club Emotional Tracker
I was given the opportunity to work on a development team of 10 cross-functional developers, UX\UI designers, and hiring managers. Our team was selected to work with the Boys & Girls Clubs of Greater Conejos Valley. This organization has over 4,000 children through its nine community clubs. The application was given the name of Boys & Girls Club Emotional Tracker because their focus was to tracks the children's’ emotion as they enter the facility, after every activity, and before leaving the facility. As a team, we met with our stakeholder in order to ensure their goals and feedback were met throughout the 4 weeks of building this application. The application flow of our app consisted of creating a login for super admin and club directors. Once they logged in they were directed to their dashboard only if they were authenticated. Once in the app, they were able to navigate to also see the data of programs management, members management, club management, and be able to add members either by entering the id manually or through a csv file. Once that was establish, it generates unique QR codes.
The Critical first Two Weeks
This was the hardest two weeks I have ever experience in my whole entire Lambda experience. The project manager gave us a new standard development structure that no students in lambda have seen before. The way they formatted the components, security, and dependencies was very difficult for my team and I to understand. On top of that we had to also learn a new a new way of styling our components using Ant Design. Thankfully, the first week was just about planning and organizing the wireframes, mockup, and color scheme. I am going to be fully honest, I was extremely nervous and stressing out all week. My team and I decided to do our own research about everything that was placed in our hands and we decided to regroup in 3 days to see if we were able to understand the whole process. After 3 days passed, as you can assume, we were still confused, worried, and stressed out. We did some team research, divided topics to research on, and stayed in our team private zoom chat. I was researching about Ant Design and messing around with the code in a new empty project just to get my hands and experience. After a day of full research, I was successfully able to fully understand the format structure of Ant Design and how to manipulate the styling. I did the styling of member management table along with the navbar using Ant Design. Here is an example of how it looked!
My Perspective From Working On The Front-End
In our team there was a total of 4 front-end developers including me. We divided individual tasks, and we also peer program with each other to solve bugs, functionality, and styling. The feature that I focused on was creating a functional and styled member management table. I made an axios call to retrieve the data from the backend. As a team peer programming, we created a validated form in order to manually add members to the backend database. On my own, I worked on creating the switch react routers in order to improve the speed of clicking links/pages. Here is how it turned out!
As a team, we faced a technical challenge of getting the csv file to fully work with the database. We peer program and we discovered that the issues was much more simple than we expected. We read all the documentation about importing csv files and we realized that we install papaprase wrong and that the way we were formatting was not 100% right. We overcame this struggle by iterating and appending the member to the list. I was extremely happy we were able to solve this issue a lot sooner than later. Here’s an example of how a functional csv file import.
Here is how our file and component architecture looked like:
State Management
For our state management my team and I decided to go with redux instead of Context API. Our project did not end up using global state management however, we were able to retrieve and keep the data being stored in a local database. I forgot to mention that this application was going to be passed to the next group and they will be able to continue adding more features. Our goal as a team, was to get release 1 and 2 up and ready in order to meet the stakeholders expectations. We set up a Redux paradigm called redux-ducks. We were able to added existing files that will be very beneficial in order for the next team to make the state management more complex.
Conclusion
In the future this product will definitely have a lot more new functionality features and will also be expanding the team, bring in data scientist. For example, the super admin dashboard will be displaying all the data being retrieved from their students, activities, and will overall improve the environment of Boys & Girls Clubs and most importantly the children. I am extremely proud of my team for everything we were able to accomplish, with the foundation that we created, I strongly believe this application can become full AMS. I predict that maybe one technical challenge they might run into might be fixing small bugs during the production phase in order to improve the performance and speed. Overall I received positive feedback; however, something that I need to work on is to not be such a perfectionist. I would take longer than expected to complete components because I was so focused on how I could improve the components constantly and focusing on all the little details. I have incorporated this feedback into my personal development by understanding that not everything needs to come out perfect on the first attempt. I Also realized that I need to prioritize what needs to be done first. After Adapting to this, I was able to finish tasks early and then be able to go back and try to improve the app as much as possible. Hearing this feedback was very helpful because it also helped me manage my time a lot better and relieved stress and concerns. In conclusion I am so grateful to be a part of this organization of the Boys & Girls Club and I can’t wait to see the app being use all around the world someday! This Lambda Labs was not easy but it definitely helped me become a better developer. I want to thank my team for always working so hard and communicating. This project furthers my career goal of purposing frontend development. I enjoyed the whole process!