In ICS 414, I worked on a full-stack project called Pantry Pals. This project helped me understand how real web applications are built and how the frontend, backend, and database all work together. I used tools like Next.js, React, Prisma, and PostgreSQL, which gave me a better idea of how modern web apps are structured.
One of the biggest things I learned was how to add new features without breaking existing code. When I worked on adding an “Add to Shopping List” button from the pantry page, I had to look closely at how the current APIs and database logic were already set up. Instead of starting from scratch, I learned to work with what was already there, which showed me why reading and understanding existing code is important.
I also worked on an expiring items feature that shows a notification when pantry items are about to expire. I tried to add an option that lets users add those expiring items directly to the shopping list. While working on this, I ran into several issues with redirects, database queries, and page routing. It took a lot of trial and error to get everything working, but it helped me get better at debugging and not giving up when things didn’t work right away.
I also learned more about UI design. I tried to redesign parts of the shopping list to make it look nicer, but after testing it, I realized the original design was already simple and easy to use. This taught me that changing the UI doesn’t always improve the experience, and sometimes the original design is the better choice.
Overall, ICS 414 helped me feel more comfortable working on larger projects. I learned how to read error messages, fix bugs step by step, and think more like a software engineer instead of just focusing on finishing an assignment. Pantry Pals gave me experience that feels much closer to real-world development.