cst438 - week 8
5 of the most important things I learned from this course:
1. GitHub Project Management. Working as a team using GitHubs project management tool. This was the first time I had used GitHub as more thank just a place to store, share, or pull code from. Learning how to divide a feature into individually assigned issues and link every pull request back to its issue was a great opportunity to get a sense of how real engineering teams track who's doing what and why.
2. Learning how to use Spring Boot Microservices. Splitting the backend into separate services, each with its own database, gave me a new perspective on how to design a large scale project. By splitting the project into multiple services, each can be developed, tested, and run independently.
3. Working with React Frontend. Instead of manually tracking which parts of the page need to change and updating them by individually, React allowed to update the values in a centralized place, the state, and have them rerendered automatically. This was incredibly helpful with components that got reused across the app, since changing a single value in state automatically kept every part of the UI that depended on it in sync.
4. REST and how its used to connect front and backend together. Working with REST taught me how a clean separation between frontend and backend actually works in practice. The frontend doesn't need to know anything about how data is stored or processed, it just needs to know what endpoints exist and what shape of data they expect and return. This made it possible for the frontend and backend to be built, and even changed as long as both sides agreed on that shared contract.
5. Unit Tests and Selenium. Writing unit tests allowed me to verify if a small piece of logic works correctly in isolation, quickly and repeatably, while system tests confirm that all the independently tested pieces actually work together correctly once connected. This coolest part was automating these tests, rather than manually clicking through the application every time, meant I could make a change and immediately know whether it broke something, instead of hoping I'd remember to check everywhere by hand.
Comments
Post a Comment