<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sergio Pereira</title>
    <description>The latest articles on DEV Community by Sergio Pereira (@sergiopereira).</description>
    <link>https://dev.to/sergiopereira</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1002902%2F24239a67-9bec-49c1-891c-93940f289aff.jpeg</url>
      <title>DEV Community: Sergio Pereira</title>
      <link>https://dev.to/sergiopereira</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sergiopereira"/>
    <language>en</language>
    <item>
      <title>From Old-School to AI-Driven: Creating Professional React Code from Figma</title>
      <dc:creator>Sergio Pereira</dc:creator>
      <pubDate>Tue, 26 Aug 2025 13:07:47 +0000</pubDate>
      <link>https://dev.to/bitloops/from-old-school-to-ai-driven-creating-professional-react-code-from-figma-2139</link>
      <guid>https://dev.to/bitloops/from-old-school-to-ai-driven-creating-professional-react-code-from-figma-2139</guid>
      <description>&lt;p&gt;You’ve got a sleek Figma file and need professional React code. For years, teams have done this by hand—effective, but slow and repetitive. In this article, we’ll first walk through the &lt;strong&gt;traditional workflow&lt;/strong&gt; developers use today, then show how &lt;strong&gt;Bitloops&lt;/strong&gt; (our Frontend AI Agent) automates the boring parts in &lt;strong&gt;about a minute&lt;/strong&gt;, keeping code quality front and center.&lt;/p&gt;




&lt;h2&gt;
  
  
  Who this is for
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Developers who want a clear mental model of design-to-code (even if you’ll automate it).
&lt;/li&gt;
&lt;li&gt;Teams seeking a faster path to &lt;strong&gt;consistent&lt;/strong&gt;, &lt;strong&gt;responsive&lt;/strong&gt;, &lt;strong&gt;component-based&lt;/strong&gt; React codebases.
&lt;/li&gt;
&lt;li&gt;Engineers evaluating where AI can help &lt;strong&gt;without&lt;/strong&gt; dumbing down the stack.
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The Traditional Workflow
&lt;/h2&gt;

&lt;p&gt;Professional devs still need to know the fundamentals. Here’s the common path—tightened to &lt;strong&gt;6 steps&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  1) Analyze the design
&lt;/h3&gt;

&lt;p&gt;Break the Figma layout into reusable parts (buttons, inputs, cards, nav bars, sections). Map those to React components.&lt;/p&gt;

&lt;h3&gt;
  
  
  2) Set up the environment
&lt;/h3&gt;

&lt;p&gt;Initialize the app and install common dependencies.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx create-react-app my-app
&lt;span class="nb"&gt;cd &lt;/span&gt;my-app
npm &lt;span class="nb"&gt;install &lt;/span&gt;react-router-dom framer-motion styled-components
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3) Establish structure
&lt;/h3&gt;

&lt;p&gt;Consistent architecture reduces friction:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;src/
  assets/        &lt;span class="c"&gt;# images, icons, fonts&lt;/span&gt;
  components/    &lt;span class="c"&gt;# reusable UI components&lt;/span&gt;
  pages/         &lt;span class="c"&gt;# page-level components&lt;/span&gt;
  styles/        &lt;span class="c"&gt;# globals/tokens if not using CSS-in-JS&lt;/span&gt;
  hooks/         &lt;span class="c"&gt;# custom hooks&lt;/span&gt;
  utils/         &lt;span class="c"&gt;# helpers/constants&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4) Build components
&lt;/h3&gt;

&lt;p&gt;Turn UI pieces into composable React components. Keep props meaningful; avoid hard-coding.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;// src/components/Button.jsx
&lt;span class="nb"&gt;export &lt;/span&gt;default &lt;span class="k"&gt;function &lt;/span&gt;Button&lt;span class="o"&gt;({&lt;/span&gt; variant &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"primary"&lt;/span&gt;, onClick, children &lt;span class="o"&gt;})&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;
    &amp;lt;button &lt;span class="nv"&gt;className&lt;/span&gt;&lt;span class="o"&gt;={&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;btn btn--&lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;variant&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="nv"&gt;onClick&lt;/span&gt;&lt;span class="o"&gt;={&lt;/span&gt;onClick&lt;span class="o"&gt;}&amp;gt;&lt;/span&gt;
      &lt;span class="o"&gt;{&lt;/span&gt;children&lt;span class="o"&gt;}&lt;/span&gt;
    &amp;lt;/button&amp;gt;
  &lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  5) Style, assemble, and route
&lt;/h3&gt;

&lt;p&gt;Translate design tokens into CSS (CSS Modules, styled-components, or Tailwind). Compose layouts, wire routes, and make it responsive.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;// src/App.jsx
import &lt;span class="o"&gt;{&lt;/span&gt; BrowserRouter, Routes, Route &lt;span class="o"&gt;}&lt;/span&gt; from &lt;span class="s2"&gt;"react-router-dom"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
import Home from &lt;span class="s2"&gt;"./pages/Home.jsx"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nb"&gt;export &lt;/span&gt;default &lt;span class="k"&gt;function &lt;/span&gt;App&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;
    &amp;lt;BrowserRouter&amp;gt;
      &amp;lt;Routes&amp;gt;
        &amp;lt;Route &lt;span class="nv"&gt;path&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"/"&lt;/span&gt; &lt;span class="nv"&gt;element&lt;/span&gt;&lt;span class="o"&gt;={&lt;/span&gt;&amp;lt;Home/&amp;gt;&lt;span class="o"&gt;}&lt;/span&gt; /&amp;gt;
      &amp;lt;/Routes&amp;gt;
    &amp;lt;/BrowserRouter&amp;gt;
  &lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  6) Refine and Test
&lt;/h3&gt;

&lt;p&gt;Iterate for pixel fidelity, accessibility (semantic HTML, keyboard navigation, ARIA), performance, Storybook stories, and component tests.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why this is a grind
&lt;/h2&gt;

&lt;p&gt;Converting a Figma design into React manually may sound simple, but in practice it involves dozens of repetitive, detail-heavy tasks. Developers often spend hours (sometimes days) on things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Downloading and organizing assets&lt;/strong&gt;: Exporting every image, icon, and illustration from Figma, optimizing them for the web, and placing them into a clean folder structure.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Extracting fonts and styles&lt;/strong&gt;: Identifying the correct font families, weights, and sizes, then configuring them in CSS or through font loaders.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Analyzing the design&lt;/strong&gt;: Carefully reviewing the Figma file to decide &lt;em&gt;what becomes a component, what’s just a UI element, and what should be structured as a larger section or layout&lt;/em&gt;.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Identifying states and variants&lt;/strong&gt;: Determining whether components need hover states, focus states, disabled variants, size variations, or themes—and implementing each one.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Recreating spacing and alignment&lt;/strong&gt;: Translating exact paddings, margins, and constraints from Figma into CSS, ensuring consistency across all screen sizes.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Handling responsiveness&lt;/strong&gt;: Writing media queries, flexbox/grid layouts, or utility classes to make sure the design works across desktops, tablets, and mobile devices.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Building interactivity&lt;/strong&gt;: Wiring up button clicks, input states, navigation, and animations to match the intended user experience.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Writing boilerplate&lt;/strong&gt;: Creating React files, defining props, and repeating patterns for every component (buttons, cards, modals, navigation, etc.).
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Testing and documentation&lt;/strong&gt;: Adding component tests, responsiveness checks, and Storybook stories to ensure components work in isolation and scale safely.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pixel-perfect adjustments&lt;/strong&gt;: Constantly going back and forth between the running app and the Figma file to tweak small details until they visually match.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All of these steps are necessary for professional-quality code—but most of them are &lt;strong&gt;tedious, repetitive, and not the best use of a developer’s creativity&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Bitloops Way 🚀
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Bitloops&lt;/strong&gt; is a &lt;strong&gt;Frontend AI Agent&lt;/strong&gt; that automates the repetitive design-to-code work while preserving best practices—without locking you out of the developer’s seat.  &lt;/p&gt;

&lt;p&gt;Instead of just spitting out code blindly, Bitloops &lt;strong&gt;analyzes the design like an experienced frontend engineer would&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Structural Analysis&lt;/strong&gt;: Breaks down the design into sections, components, and UI elements—deciding what should be reusable, what belongs in a layout, and how everything fits together.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Editable Architecture&lt;/strong&gt;: Proposes a clean, component-based structure that you (the developer) can adjust if you prefer a different approach.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Asset &amp;amp; Token Extraction&lt;/strong&gt;: Exports all images, icons, and fonts from Figma, finds and applies the correct design tokens (colors, spacing, typography), and organizes them into a proper folder structure.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Component Naming &amp;amp; Boilerplate&lt;/strong&gt;: Identifies repeated elements as shared components, names them consistently, and generates the boilerplate React code.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Responsiveness &amp;amp; States&lt;/strong&gt;: Bakes in responsiveness and detects common states (hover, disabled, variants) so you don’t start from scratch.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Testing &amp;amp; Documentation&lt;/strong&gt;: Generates unit tests and Storybook stories so components are documented and validated out of the box.
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  A 90/10 Approach
&lt;/h3&gt;

&lt;p&gt;Bitloops doesn’t claim to be 100% perfect. Instead, it gets you &lt;strong&gt;90% of the way there automatically&lt;/strong&gt;:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The repetitive, gritty work is done for you.
&lt;/li&gt;
&lt;li&gt;Any mismatches, errors, or edge cases are flagged clearly.
&lt;/li&gt;
&lt;li&gt;You can then tweak, refine, and focus on the &lt;strong&gt;high-value engineering tasks&lt;/strong&gt;—business logic, UX polish, and performance tuning.
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In short: Bitloops gives you a professional-quality React codebase in minutes, while keeping you in full control. It automates the boring 90% so you can spend your time on the interesting 10%.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Why it matters
&lt;/h2&gt;

&lt;p&gt;Bitloops doesn’t replace frontend developers. Instead, it removes repetitive steps so you can focus on what matters: building logic, refining UX, and shipping faster.  &lt;/p&gt;

&lt;p&gt;Whether you’re a solo developer or part of a team, this means more productivity and less time wrestling with boilerplate.&lt;/p&gt;




&lt;h2&gt;
  
  
  Try Bitloops
&lt;/h2&gt;

&lt;p&gt;We’re currently in &lt;strong&gt;closed alpha&lt;/strong&gt;. Join the &lt;a href="https://bitloops.com" rel="noopener noreferrer"&gt;waiting list&lt;/a&gt; and we’ll get you access ASAP.  &lt;/p&gt;

&lt;p&gt;Not all features are available yet, but we’re iterating fast—and if you’re really keen, email the founders with your top 3 books, podcasts, or movies, and we’ll expedite your access.  &lt;/p&gt;

&lt;p&gt;Bitloops is here to make frontend development &lt;strong&gt;smarter, faster, and more enjoyable&lt;/strong&gt;. Why spend hours copying designs when you could start coding in minutes?&lt;/p&gt;

</description>
      <category>frontend</category>
      <category>webdev</category>
      <category>react</category>
    </item>
    <item>
      <title>From padawan to Jedi - boost your dev skills with the Ultimate Todo App</title>
      <dc:creator>Sergio Pereira</dc:creator>
      <pubDate>Wed, 05 Apr 2023 15:00:31 +0000</pubDate>
      <link>https://dev.to/sergiopereira/from-padawan-to-jedi-boost-your-dev-skills-with-the-ultimate-todo-app-155l</link>
      <guid>https://dev.to/sergiopereira/from-padawan-to-jedi-boost-your-dev-skills-with-the-ultimate-todo-app-155l</guid>
      <description>&lt;p&gt;Building software has come a long way over the past few years, but at the same time, it has become &lt;strong&gt;increasingly complex.&lt;/strong&gt; With new technologies, databases, frameworks, and deployment methods emerging all the time, it's hard to keep up. &lt;/p&gt;

&lt;p&gt;As developers, we understand the importance of building software that not only functions correctly, but also adds real value to the end-users. This is why &lt;strong&gt;we strive to focus on the core business logic and the features that directly contribute to the user experience&lt;/strong&gt;, rather than spending countless hours on the mundane tasks that often come with software development. &lt;/p&gt;

&lt;p&gt;We of course streamline the development process and try to minimize the amount of time spent on non-essential tasks, but it's still overwhelming. &lt;strong&gt;Requirements change, deadlines always seem impossible, the world of software continues to evolve at an ever-increasing pace&lt;/strong&gt;, it seems that the challenge of keeping up is here to stay.  &lt;/p&gt;

&lt;p&gt;Ultimately, we want to &lt;strong&gt;create software that has a greater impact on the world&lt;/strong&gt;, while also making our jobs as developers more fulfilling and enjoyable.&lt;/p&gt;

&lt;p&gt;That's why we decided to take a step back and really focus on software architecture. We dug deep into &lt;strong&gt;Hexagonal Architecture, Event Driven Architecture&lt;/strong&gt;, and other patterns like &lt;strong&gt;CQRS and Event Sourcing&lt;/strong&gt;. We also dove into &lt;strong&gt;Domain Driven Design&lt;/strong&gt; and &lt;strong&gt;Behaviour Driven Development&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  The result?
&lt;/h3&gt;

&lt;p&gt;Well, after months of learning and working on the &lt;a href="https://bitloops.com/" rel="noopener noreferrer"&gt;Bitloops Platform&lt;/a&gt; (&lt;em&gt;join waiting list - release in a few months&lt;/em&gt;), we created the Ultimate ToDo app that follows all of these great design patterns and principles. &lt;/p&gt;

&lt;p&gt;Now, we know what you're thinking, a ToDo app might not need to be this over-engineered. But trust us, this app is a great example for building awesome software that's easy to understand and easy to change.&lt;/p&gt;

&lt;p&gt;You can find the entire codebase in our &lt;a href="https://github.com/bitloops/ddd-hexagonal-cqrs-es-eda" rel="noopener noreferrer"&gt;GitHub Repo: ddd-hexagonal-cqrs-es-eda&lt;/a&gt;. We've used TypeScript / NodeJS and built it with Nest.JS.&lt;/p&gt;

&lt;p&gt;The repo and codebase has been designed to help you learn, leverage and copy to build software that's organized, easy to understand, and easy to change. &lt;/p&gt;

&lt;p&gt;And the best part, it uses available open-source technologies and has integrations setup for &lt;strong&gt;MongoDB, PostgreSQL, NATS, JWT (for authentication), Jaeger and Prometheus&lt;/strong&gt;, but of course, all of these can be changed or adapted if you wish. &lt;/p&gt;

&lt;p&gt;Let me break down the example for you!&lt;/p&gt;




&lt;h3&gt;
  
  
  Overarching software architecture and design patterns
&lt;/h3&gt;

&lt;p&gt;Hexagonal Architecture, which is a great approach for building modern software applications, is a core inspiration, as well as domain-driven design (DDD) for the design of the domain logic. &lt;/p&gt;

&lt;p&gt;The combination of these two software patterns / principles makes it really easy to build tests, create new features, and change stuff, without having to worry about unintended consequences.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flybg1ihjomkl2geog1qy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flybg1ihjomkl2geog1qy.png" alt="Hexagonal Architecture &amp;amp; Domain Driven Design" width="800" height="724"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At their core, both hexagonal architecture and DDD preach the separation of business logic code from infrastructure code. This ensures your code is organized, easy to understand, and easy to change. &lt;/p&gt;

&lt;p&gt;Therefore, in the example provided, we clearly separated the domain and application code from all the other code, including the website, authentication, database, and tracing and observability tools we use.&lt;/p&gt;

&lt;h3&gt;
  
  
  Understanding the domain
&lt;/h3&gt;

&lt;p&gt;Now, when it comes to understanding the domain, we use Event Storming to help us out. It helps us get all of our domain experts, product managers, and developers on the same page, speaking the same language, and aligning on what's required. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8oum75rfnbpnlia9vjor.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8oum75rfnbpnlia9vjor.png" alt="Event Storming: ToDo App" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this particular example, we created three bounded contexts and different number of processes within each: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;IAM&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;User Login process&lt;/li&gt;
&lt;li&gt;User Registration process&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Todo&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Todo Process&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Marketing&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Onboarding Process&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Clarification: the event storming yielded many interesting and valid ideas for the ToDo app - the options are almost limitless. However, the purpose of this example was to demonstrate the software design and architecture, not ToDo App features!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Focusing on the &lt;strong&gt;Todo process&lt;/strong&gt; as it is the core domain, we've identified five commands that are separate use cases: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add Todo&lt;/li&gt;
&lt;li&gt;Complete Todo&lt;/li&gt;
&lt;li&gt;Uncomplete Todo&lt;/li&gt;
&lt;li&gt;Modify Todo Title&lt;/li&gt;
&lt;li&gt;Delete Todo&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each of these use cases should be separate from the other, and that's why this step is so important. If you do this well, you'll find that the actual coding is quite simple.&lt;/p&gt;

&lt;p&gt;For more details do checkout the &lt;a href="https://github.com/bitloops/ddd-hexagonal-cqrs-es-eda" rel="noopener noreferrer"&gt;Github repo&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Building the App
&lt;/h3&gt;

&lt;p&gt;We have a clear project folder structure that follows the output of the event storming. The business/domain logic code is where the high-value code lies. &lt;/p&gt;

&lt;p&gt;This is what differentiates your application from others, so it's important to keep it well organized and easily changeable.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd4lywutsao8b4so2tp5o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd4lywutsao8b4so2tp5o.png" alt="Project Folder" width="630" height="1176"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For the Todo process, we've set up the application to coordinate the activities and hold the use cases. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmnk5co98j473vml2nzqn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmnk5co98j473vml2nzqn.png" alt="Todo Process - Module Structure" width="512" height="526"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Why do we need all this?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The commands trigger the command handlers&lt;/li&gt;
&lt;li&gt;Contracts specify how the todo module communicates with other modules&lt;/li&gt;
&lt;li&gt;The domain contains all the elements using DDD&lt;/li&gt;
&lt;li&gt;Ports represent the interface between the application and infrastructure&lt;/li&gt;
&lt;li&gt;Queries trigger the query handlers&lt;/li&gt;
&lt;li&gt;Tests include all the behavior driven tests that were identified&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The code is all there in the &lt;a href="https://github.com/bitloops/ddd-hexagonal-cqrs-es-eda" rel="noopener noreferrer"&gt;repo&lt;/a&gt;, but its actually not the most interesting part. Setting it up and designing the application correctly is what makes the code so simple and practical. &lt;/p&gt;

&lt;h3&gt;
  
  
  So, how can this example help you?
&lt;/h3&gt;

&lt;p&gt;Well, we believe that it can help developers of all levels as one of the main benefits is that the overheads and complications of using these design patterns and principles have been taken care of for you.&lt;/p&gt;

&lt;p&gt;More experienced developers can use it as a template to more &lt;strong&gt;quickly and efficiently build projects&lt;/strong&gt; that follow these &lt;strong&gt;design patterns and best practices&lt;/strong&gt;. It serves as a quick &lt;strong&gt;reference guide or a cheat sheet&lt;/strong&gt; on the side - a cheat sheet that you can easily tailor to your liking or contribute back if you have other things to add. The structure of the codebase alone will make your life easier when it comes to coding.&lt;/p&gt;

&lt;p&gt;If you're a developer with intermediate experience, this implementation reference is gonna be your &lt;strong&gt;sidekick in helping you implement best practices&lt;/strong&gt;. It'll make your software more organized and easier to understand, so you can save time and focus on things that are way more important.&lt;/p&gt;

&lt;p&gt;And if you're new to this whole development game, this is your chance to get **exposure to a modern tech stack **that's gonna make you feel like you're in the big leagues. So don't be afraid to jump in and give it a shot, you might just surprise yourself.&lt;/p&gt;

&lt;p&gt;If you found any of this interesting, I recommend taking a look at the &lt;a href="https://github.com/bitloops/ddd-hexagonal-cqrs-es-eda" rel="noopener noreferrer"&gt;&lt;strong&gt;project itself - we have all the code there&lt;/strong&gt;&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Our ultimate goal is to build a platform that will help developers design and build scalable, resilient and easy to maintain applications like this example, but in an easier and even faster way. &lt;/p&gt;

&lt;p&gt;This implementation reference is a sneak preview of what our platform will offer: &lt;strong&gt;empowering developers to focus on what really matters, the features that add value to your users.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>node</category>
      <category>javascript</category>
      <category>programming</category>
      <category>designpatterns</category>
    </item>
  </channel>
</rss>
