Skip to content

Modern Frontend Documentation

Welcome to the Modern Frontend Documentation! This guide covers best practices, project setup, architecture, and development techniques to build scalable and maintainable frontend applications.

What You Will Learn

  • Setting up a modern frontend project
  • Utilizing feature-based architecture
  • Implementing micro frontends
  • Handling state management
  • Following code guidelines
  • Optimizing performance
  • Testing your application
  • Deploying with CI/CD

Let's get started!


The biggest problem with shared dependencies is that the parts of the software that use the shared code can diverge in their requirements.

When this happens, a developer’s reflex is to cater to different needs while using the same code. That means adding optional parameters, conditional logic to make sure that the shared code can serve two different requirements. This makes the actual code more complicated, eventually causing more problems than it solves. At some point, you start thinking about a more complicated design than copy-pasted code. (1)

  1. page: 66

A street coder is anyone with software development experience in the industry who has had their beliefs and theories shaped by the realities of an unreasonable boss who wanted a week’s worth of work done in the morning.

Great street coders

In addition to street cred, honor, and loyalty, a street coder ideally possesses these qualities:

  • Questioning
  • Results-driven (aka, “results-oriented” in HR-speak)
  • High-throughput
  • Embracing complexity and ambiguity

Great software developers are not just great coders

Being a great work colleague involves many more skills than just putting bits and bytes into a computer. You need to be good at communication, provide constructive feedback, and accept criticism like a champion. Even Linus Torvaldsa admitted that he needed to work on his communication skills. However, such skills are outside the scope of this book. You will have to make friends.

Street Coder Stack Heap Stack Heap


Enums are great for holding discrete ordinal values. Classes can also be used to define discrete values, but they lack certain affordances that enums have.

  • Enums are also value types, which means they are as fast as passing around an integer value.

Reference Book