Designing a Full Stack Feature

There are a few ways people typically get started with designing a Full Stack application. In a team setting, having an idea and dividing the design into layers helps get everyone on the same page. This process, best tackled collaboratively, allows for flexibility and creativity in implementation, encouraging students to explore various tools and methodologies. This process is best approached as a back-and-forth dialogue between designers of UI, API enpoints, and Database.

Frontend View Layer, UI

Often called User Interface Design or User Experience, this involves visualizing what your frontend will look like and how a user completes a task. A successful visualization design features interactive screens that not only guide users through their tasks but also incorporate thoughtful style elements and themes.

Backend Control Layer, API endpoints

An interface design, known as an Application Programming Interface (API), contains endpoints. Each API endpoint describes how frontend requests will be answered by backend responses, providing the connections between presentation and model. To get started, a designer typically begins by defining the basic Create, Read, Update, and Delete (CRUD) API endpoints.

Backend Model Layer, Database

Modeling data and creating a database in the Java language often starts by designing Plain Old Java Objects (POJOs). These can initially be defined using a Unified Modeling Language (UML) diagramming tool (e.g., Draw.io). The key concept is to design your data and data relationships, then write your Java POJOs.

— This Document should continue with example designs using User database examples —