Theas Food Pantry: Worcester State’s Contribution to our Community

In my previous post I discussed Libre Food Pantry, a collaborative effort between multiple colleges in New England to create software to help local food pantries better serve their communities. This time I will briefly discuss Worcester State’s contribution in the form of Theas Food Pantry which is used right here on campus.

Theas Food Pantry is a software solution to the food pantry of the same name on campus created by Computer Science Majors. This is made up of many industry standard frameworks such as REST API calls, a JavaScript based front end written with the Vue framework, and Docker for containerization. It is interesting to see how, like many websites and databases this is made using tools that are commonplace in the industry. Many of these tools are open source and yet are still a part of the core workflow in many major software development firms.

From the blog CS@Worcester – George Chyoghly CS-343 by gchyoghly and used with permission of the author. All other rights reserved by the author.

A Brief word on Libre Food Pantry

As some may know or not know, Libre Food Pantry is the work of several colleges around New England with the goal of creating software for food pantries everywhere to use in order to manage operations. Their mission is simple, create free software to be used at any and all food pantries in order to better serve their guests.

However, the most interesting part of this collaboration is that this is instructor led, and student built. Students have worked to create prototype software ranging from database solutions at Worcester State, to mobile app based solutions at Nassau Community College. These institutions assist and add to this software along with other contributors with the goal of helping those in need while furthering their own education.

Those who are interested as I am should take to their website to learn more about their story and how far they have come.

https://librefoodpantry.org/

From the blog CS@Worcester – George Chyoghly CS-343 by gchyoghly and used with permission of the author. All other rights reserved by the author.

Apprentice Patterns Ch. 1, and Introductions

Chapter One:

My first reaction to chapter one is that I am the intended audience for this book. I am somebody that wants to create software, but I need some guidance. I also noticed that Dave did not really start to program until he was 26. So many stories of great programmers start when the protoganist is 10. So it is encouraging to see somebody that started later in life. I also thought it was interesting that Dave had to “swallow his pride” in order to become proficient in his first programming language.

One Idea I found thought provoking is that software craftmanship is the “growth mindset”, which is more about sustained effort, as opposed to natural born talent. One thing that new developers struggle with is imposter syndrome. And I believe that this mindset could be an anectdote to imposter syndrome. This idea helped me to think about software development expertise as something that is gained through effort. Which is not always what we are told in pop culture.

Introductions for chapter 2-6:

Chapter two is called I emptying your cup. This is the idea that as an apprentice, I should be open to new ways of doing things. When I start my first job, I will not have a problem accepting advise. But this is a good concept to keep in mind as I progress. The long road is about the life long journey of improving as a developer. This is an inspiring idea. It makes me feel like it is not simply about how long you have been coding, as long as we continue to practice and learn. Chapter four is about accurate self assessment. This involves focusing on self improvement over being the best, or being better than average. This chapter sound interesting, because this is advice that I have heard in many aspects of life. So I am interested to see how the author relates this wisdom into software development.

Chapter five is called Perceptual Learning. I believe what the author is getting at is “learning how to learn”. This chapter stands out as being the most useful to me. No matter what stack I end up using at my first job, I will not know everything that I need for the job. So the ability to effectively learn on the job is crucial. Chapter six is about Building your own curriculum. In which the authors talk about the importance of books over internet resources. This may be the only thing I disagree with so far. In my experience so far, online resources like documentaion, tutorials, and stack overflow are more helpful than programming textbooks. But I could be wrong, I certainly don’t want to go into this book with a full cup.

From the blog CS@Worcester – Jim Spisto by jspisto and used with permission of the author. All other rights reserved by the author.

All About LibreFoodPantry

The mission of the Libre Food Pantry is to offer free and open-source software to manage the logistics of operating a food pantry. The project is developed using agile values and adhered to FOSSisms which are a collection of quotes that relate to open-source software development. The code of conduct of the Libre Food Pantry is to not tolerate discrimination of any form and to operate with a strict equity policy. Those who contribute must follow the GPLv3 and attributions must follow the CC-BY-SA 4.0 where each sign-off follow the Developer Certificate of Origin 1.1 schema. The Libre Food Pantry acknowledgments detail the sponsors, software, clients, people, and institutions that make the project possible. A major sponsor is AWS which provides free hosting for the project. I chose to write about these details to familiarize myself with the details of the development process of this project.

From the blog CS@Worcester – Jared's Development Blog by Jared Moore and used with permission of the author. All other rights reserved by the author.

Theas Pantry Technology

This week, wrote about the technologies we will be working with if we are for the Theas Food Pantry projects. I thought this topic would be intersting, because it will impact what we will be doing on a daily basis during the course. The technologies I will describe today are OpenAPI, Vue.js, and Express.

For the api layer we will be using OpenAPI. OpenAPI is used to create, produce, and comsume RESTful web services. OpenAPI is written in a machine readable format, JSON or yaml. The front end uses Vue.js. Vue is a JavaSript framework used to create a front end for web applications. It uses the model view framework is used to create dynamic, user friendly UI. Express.js is what Theas food Pantry uses for their backend. Express is considered by developers to be the standard when it comes to Node.js backend frameworks.

From the blog CS@Worcester – Jim Spisto by jspisto and used with permission of the author. All other rights reserved by the author.

Libre Food Pantry Misson

This week I decided to write about the Libre Food Pantry’s mission. I was interested in this topic because it gives myself, and the class as a whole an idea of what we are working towards this semester.

The community of Libre Food Pantry furthers humitarian causes, while furthering computer science education. The mission of Libre Food Pantry is to teach computer science students that software can be used for social good. This makes me feel excited to get started.

Libre’s mission is something I can definitely get behind. Many computer science students gravitate towards FAANG, and other big tech companies as they graduate. But I think working with Libre Food Pantry can be a reminder that a computer science education can be used at a variety of companies and causes that may not seem as obvious at first.

From the blog CS@Worcester – Jim Spisto by jspisto and used with permission of the author. All other rights reserved by the author.

Thea’s Pantry

While LibreFoodPantry, which I introduced from my last blog, serves the local Worcester as a whole, another similar project, Thea’s Pantry, is developed exclusively for the Worcester State University community. The user story in this project is written linearly instead of a map compared to LibreFoodPantry, it’s less specific but illustrating the general purpose. However, LibreFoodPantry didn’t indicate the architecture and technology used in the project, Thea’s Pantry instead demonstrated everything beforehand giving the readers a technical perspective about how this project is going to be implemented. Since the big task is broken up into smaller pieces, different teams of developers can work at the same time and each new completed project will become a feature of the final product. Furthermore, by using GitLab CI pipeline, it will be continuously delivered with a new semantic versioning. Overall, this project idea is to benefit both students and pantries at the same time by educating students to develop something practical for the people.

From the blog CS@Worcester – Vien's Blog by Vien Hua and used with permission of the author. All other rights reserved by the author.

Thea’s Pantry Quick Breakdown

  • User Stories

I know the costumer ultimately is the organizer using the device, but I could not stop thinking of the people on the other side, who are they, a community member in need, a homeless person, a student in need. This made me think about privacy and sensible ways of presenting quantity constraints in a respectable way. I don’t think a future in UI/UX is for me, but I believe the user should be expanded.

  • Architecture and Technology

What I think is most helpful is the architecture and technology. Mostly architecture, I remember how easy it is to get lost on systems that have many parts with different relations. The UML diagrams are important not only to get it right in the first place but check whether you did get it right or not. I think dependencies are hard to describe concurrently having their layout ahead of work makes everyone’s lives a lot easier.    

From the blog CS@Worcester – technology blog by jeffersonbourguignoncoutinho and used with permission of the author. All other rights reserved by the author.

Quick thoughts on opensource at libreFoodPantry.org

The LibreFoodPantry.org site allows for an easy onboarding, which is something I have been thinking a lot about this close to graduation.  The project is very well defined and spans a good number of educational institutions. I like that is not own by one but multiple responsible parties which to me lends it credibility. It was interesting to see the term FOSS mentioned with emphasis and I wasn’t sure what it was although I probably had used more than a few tools that meet the criteria. Contributing to a free and open source software that has charitable goals is a great way to learn and feel good about it.

From the blog CS@Worcester – technology blog by jeffersonbourguignoncoutinho and used with permission of the author. All other rights reserved by the author.

LibreFoodPantry

If you haven’t known yet, let me introduce this open-source software, LibreFoodPantry, from a group of professors from Worcester, Massachusetts. If you also weren’t familiar with the term open-source software, don’t let the term intimidate you, it is nothing but illustrating that the software is free to use and open for improvement. This project goal not only is a way to let students interact with practical problems but also helps local food pantries serve their guests.

Since this is an open-source repository, students can keep improving the software under its license, learn new materials and develop something that benefits the community. Currently, the project is still in the development phase by the time this blog is uploaded. Hopefully, by the end of this May, we can see its first launch to the community. 

From the blog CS@Worcester – Vien's Blog by Vien Hua and used with permission of the author. All other rights reserved by the author.