A Tree Approach to Full-Stack

in #blog6 years ago


You are ready to build for your first full-stack application, but you are wondering where to start.  Instead of pursuing the development linearly, consider pursuing development  as a blossoming tree.   Not all trees are the same.  However, they all have standard components.  There are five components of a tree:

  • Roots
  • Trunk
  • Branches
  • Twigs
  • Leaves

Trees grow starting from the seed or the developer's idea.  The schema design is the root of the application.  Designing the schema first checks off boxes on your app's checklist:  establishing entity relationships in the database, listing primary and secondary features and construct core user functions.  Consider each root as a database table with the ability to converge into join tables.  Roots absorb nutrients(data) with the trunk acting as a pipe that transports the data to the branches, twigs, and leaves.

Trunks are an essential part of the tree, as the database for an app.  They are the connective tissue between the user interface(UI) and the schema.  In software engineering, a query is an inquiry of the database.  Database functions move the information from roots to leaves, by returning the results from the queries.  SQL and Javascript in unison make this possible.  As the roots converge into the trunk, the trunk diverges into branches.

Branches represent the routes of your tree.  Routes merely connect to the database but are not a part of it.  Similar to the branches of a tree, various routes perform various tasks as represented in the divergence of wood.  An app with differing functions requires differing routes to provide a robust experience for the user.

DOM(Document Object Model) manipulation bridges the gap between the routes and visual design.  HTML is a static text language.  Interactions require alterations on the screen.  The interactions are the twigs.  They are a part branch, and part flower.  The Javascript file used to interact with the interface references HTML and CSS.

The color and design of your leaves(interface) has a science behind it.  Specific hues invoke certain emotions in users.  There are various resources online to assist in this selection.  Developers need to know the DNA of the app to choose the optimum color scheme.     

Following the tree process and concepts for development enables a more structured method and comprehension in building web applications.  This process also lessens the time spent writing syntax by simplifying the core necessities for functionality.