Category Archives: Set-up Task #4

A Peek Into LibreFoodPantry & Theas Pantry

Before working on anything for LibreFoodPantry, I needed to read up on the project. LibreFoodPantry values FOSSisms: https://opensource.com/education/14/6/16-foss-principles-for-educators. I thought this was an interesting read, especially because I am new to open source culture. It discusses some values and beliefs, one of them being that if something didn’t happen publicly, then it didn’t happen. This would make it easier for people to be able to see what’s being done and join, and documenting things helps keep people up-to-date on such a large project. Some FOSSisms also mention that students’ changes aren’t likely to completely mess up a project because of versioning and branches exist. This is reassuring that something I do for the project, even something small, is still helpful, and changes I make would not be entirely damaging.

I read up on Theas Pantry at https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/documentation/-/blob/main/README.md. An interesting component of information from those files is the User Stories. I wanted to highlight this because it is helpful in helping us understand the flow of how signing in would work for different people, and any restrictions there may be. This gives us a better idea of the coding. For example, we know to code for a blank registration form appearing if the visiting guest’s WSU ID has not been swiped at the pantry before. We would also know to code for the guest’s current information to be displayed if they’ve visited before. On the topic of restrictions, the user story tells us that only one guest is allowed in the pantry at a time, so we know to maybe only code for up to one person to be signed in at a time, and they’d need to sign/check out before another guest could.

From the blog CS@Worcester – CS With Sarah by Sarah T and used with permission of the author. All other rights reserved by the author.

Thea’s Pantry GitLab Group

Thea’s Pantry is a GitLab group and a food pantry for our WSU school community. In this Documentation project one of the items that I found useful, interesting, and surprising, is Workflow. The main reason I specify this item is that helps the developers and is the way we will be working on this food pantry.
I choose to write about it because the workflow is one process where we can coordinate and organize well, and also give our contribution toward this project.
In this way, we as students will learn how to work by collaborating, by using the git workflow developed for Thea’s Pantry project.

From the blog CS@worcester – Xhulja's Blogs by xmurati and used with permission of the author. All other rights reserved by the author.

Thea’s Pantry

For the cs-448 course we are working on a project which regards to the Worcester states food pantry program called Thea’s Pantry we are working on a project to improve its community. After looking upon the user stories, and I found useful information. This is fascinating on how the documentation gives a breakdown in each category such as the guest visiting inventory, access management, new inventory, etc . Tells how in each bullets on how it is supposed to be configured and implemented throughout the project. helps give an understanding what is needed to be accomplished and/or has been already accomplished.

From the blog cs@worcester – Dahwal Dev by Dahwal Charles and used with permission of the author. All other rights reserved by the author.

Thea’s Pantry Intro

Thea’s Pantry is an Open Source software tool used by Worcester State University to help manage their on-site food pantry. This software is a division of the LibreFoodPantry open source tool. While taking a look at the architecture of the system on the food pantry’s repository on GitLab, I noticed that it is composed of multiple systems that make it whole. Each of the features the system offers breaks down into smaller specialized parts. The type of person that I am likes to do things alone. Although this project seems like a relatively smaller one and can probably be done by a single developer, by the time the software is complete, it’s likely that better solutions would have been discovered and faster. Looking at the architecture really put things into perspective for me in terms of the importance of having a team to work on software.

From the blog CS@Worcester – You have reached the upper bound by cloudtech360 and used with permission of the author. All other rights reserved by the author.

Thea’s Pantry

One thing I found interesting was the scope of the architecture, with it being composed of systems, and with each system having different features.  What seems relatively simple requires many components that all have to mesh and interact with each other to form a cohesive whole. In particular, I found the diagrams to be very interesting, seeing the components that the different systems are composed of, and how those components interact within the system. I found this to be the most interesting because it related to what we did last semester, with the frontend and backend, and here is them being used in an actual practical, working system. It’s because it seems somewhat familiar to me, even though I don’t know the exact workings of the components, but because I know their overall function.

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

Thea’s Pantry

When looking through the Thea’s Pantry GitLab Group, I saw something that interested me with the release process where we have to use semantic-release when we make new working builds and new merge requests are accepted. There we can see that this helps makes the release process automatic without human interaction; leaving it “unromantic and unsentimental”. It didn’t occur to me before but when reading the link that phrase led to how people think differently about changing the version number. It looks as though when reading that website, that we don’t care about the creative values and expressions they talk about and just keep things standardized and clean.

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

Thea’s Pantry

Despite being intrigued by the many interconnected systems, it gives me a sort of confidence that people can overcome their current level of understanding which we’re comfortable with, and can confidently connect these differing types of information to make a solution that seems to be a logical conclusion. I have to admit that such data is something that may be inconclusive to my biases that hold me to my biased endings, but I always try my best to side with the morally better decision, no matter how difficult. I certainly acknowledge the difference of opinion, and the potential radicalization I may bring, but in the light of our current civilization, I only want the best for the people of my nation.   

From the blog CS@worcester – Dummies that Code by howbrash and used with permission of the author. All other rights reserved by the author.

Thea’s Pantry Set-Up Task #4

The architecture is laid out very nice right here. And it really makes a lot more sense of the work we did in Software Architecture and Design. Meaning, you can see what we were learning last semester in a practical matter. Essentially this Web Service Application will support the user with multiple API’s. Including two Third-Party systems for Logins and Events. It really is some interesting stuff. The Technology we are working with is the same as well. We will only improve our understanding from here. Workflow is exciting because we will finally learn large team orientated branching techniques. And the release Process takes advantage of the Semantic Versioning we have already learned about. Which will feel good to use. Especially after a version you are proud of.

From the blog CS@Worcester – Andrew Sychtysz Software Developer by Andrew Sychtysz and used with permission of the author. All other rights reserved by the author.

Set Up Task 4: Thea’s Pantry

I looked through the documentation for Thea’s Pantry to get an idea of what the project is about and how the project works. Of the sections, the User Stories section stood out to me the most because I felt like that t gives an idea of how the project should work, what features it should have, who it is serving, and what the software architecture should look like. I think this guide is very helpful for future reference when working on the project myself. I think that it is something that I will revisit frequently to make sure that I am on the right track.

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

Thea’s Pantry:Technology

It is exciting to learn about the software being used in building an entire working system from bottom to top. I will research but briefly talk about Kubernetes, RabbitMQ and Keycloak since these are the software I personally have not used before.

Keycloak is an open-source Identity and Access Management solution for modern applications and services. It offers features such as Single-Sign-On (SSO), Identity Brokering and Social Login, User Federation, Client Adapters, an Admin Console, and an Account Management Console.

RabbitMQ is a message broker that implements Advanced Message Queuing Protocol (AMQP). Basically, it is a messaging system used for decoupling software components. It also Performs background operations and asynchronous operations.

As complexity increases in containers, features like; automated deployment, the orchestration of containers, scheduling apps, granting high availability, managing a cluster of several app instances, etc. are needed. Kubernetes is a tool that provides all these features.

From the blog CS@worcester – Towards Tech by murtazan and used with permission of the author. All other rights reserved by the author.