Category Archives: Set-up Task #4

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.

Thea’s Pantry

The Thea’s pantry project is a very interesting project since it involves Worcester State University itself and as students who are graduating, it is for us an opportunity to leave behind something this valuable that will serve the university and its users in the coming future. I read about the User stories, and I am extremely pleased on how well detailed and organized this section is. I loved to see the different parts that need to be updated in the Thea’s Pantry log entry. I also read about the technology that will be used in this project. Some of them are very familiar like git and gitlab. Some were introduced to me recently like MongoB, Docker and openAPI. I am curious to learn about all these technologies and put them into practice as they are important in the software field.

Technology.md · main · LibreFoodPantry / Client Solutions / Theas Pantry / Documentation · GitLab

UserStories.md · main · LibreFoodPantry / Client Solutions / Theas Pantry / Documentation · GitLab

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry

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

Conventional Commits

When researching the “Thea’s Pantry” group on Gitlab I came across Conventional Commits. Conventional Commits is a system of writing commits that can be used for parsing by conventional keywords and formatting. This can be used to automatically generate CHANGELOGs and automate semantic versioning.

Conventional Commits is formatted as <type>[optional scope]: <description>. This creates a consistent format to write/read comments and can help you quickly find commits when searching for a specific commit. You also have the option to include a body and footers. These bodies and footers also have their own specific formatting to facilitate automated parsing. If convention is not followed commits can be squashed and reformatted upon merge by a project administrator.

From the blog CS@Worcester – Ryan Blog by rtrembley and used with permission of the author. All other rights reserved by the author.

Thea’s Pantry

While reading the documentation for Thea’s Pantry, I thought the User Stories section was really interesting. I think it is a valuable resource to have on hand while working on Thea’s Pantry since it gives a very clear description of how this software is intended to be used. This gives me a better idea of how the program should flow during use, and it especially helps me understand the difference between the responsibilities of a staff member and those of an administrator at the food pantry. I also thought it was interesting that only one guest was allowed into the pantry at a time; I did not know this previously.

From the blog CS@Worcester – Ciampa&#039;s Computer Science Blog by robiciampa and used with permission of the author. All other rights reserved by the author.