Learning Front End in a Microservices World

This week we learned a lot about front-end development. Working through the microservices front-end activities (MS07–MS09) really helped me understand what the front end is all about. As a CS student who loves full-stack development, the activities offered a structured approach to seeing how a front end fits into a bigger system rather than just building isolated apps.

In MS07, Exploring Front End, it encouraged me to think of the front end as more than just what the user sees. It’s the browser-based client in a client–server relationship, responsible for showing data from services and gathering user input through a clear interface. Seeing an actual frontend project that communicates with a REST API, like the GuestInfoFrontend calling a GuestInfoBackend microservice, solidified the idea that a front end is a key part of a distributed system, not just some HTML and CSS code. In MS08, Exploring Front End Implementation, it linked these ideas to real technologies like JavaScript frameworks, routing and HTTP requests to backend endpoints. This made me see each screen as a mix of components, state and API calls, instead of a static page. It also brought to light important issues like error handling and accessibility which are easy to overlook in simple examples. 

Before diving into these activities, front-end seemed like mostly about looks, layouts, colors and how everything works on the screen. But MS07 and MS08 showed it as a real engineering piece with tasks like making sure it’s easy to use, reliable and safe. The microservices world made it clear that a front end needs to handle things like partial failures, different versions of APIs and changing backend agreements which is exactly what I’m looking forward to in my job. MS09, Implementing Front End, pushed me to go from just reading and playing around to actually building and changing features in a real program. For example, updating how the pantry guests’ UI works—like getting their info from a backend service—really showed how much thought goes into simple things like searching, filling out forms, and getting feedback.

This experience will definitely change how I design and build client apps in microservice setups. I’m planning to see front ends as clients to well-defined APIs, starting with clear agreements and how things go wrong and to focus on making sure everything is accessible and easy to use especially since many LibreFoodPantry users are volunteers and guests who might not be tech-savvy. I also want to help out or build similar open-source projects where the front ends directly support social-impact work, because seeing my code make a real difference is a huge motivator to write better, easier-to-maintain software. Other helpful resources included the LibreFoodPantry main site and mission statement to give us a sense of what’s going on, the GuestInfoFrontend GitLab repository for a front end that uses a REST API in a real-world setting, and the bigger LibreFoodPantry project overview and group pages that show how front ends work with the backend and other services in a bigger system.