Best of ArchitectureAugust 2022

  1. 1
    Article
    Avatar of communityCommunity Picks·4y

    Top 10 Microservices Design Patterns and Principles

    Microservice architecture is structured on the business domain and it's a collection of small autonomous services. Transaction management is the fundamental advantage of a shared database versus a per-service database. Event Sourcing is based on the idea that any change in an entity's state should be captured by the system. The persistence of a business item is accomplished by storing a series of state-changing events.

  2. 2
    Article
    Avatar of communityCommunity Picks·4y

    DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together

    Ports & Adapters architecture identifies three fundamental blocks of code in a system. In most languages and in its most simple form, the Port will be an Interface, but it might actually be composed of several Interfaces and DTOs.

  3. 3
    Article
    Avatar of communityCommunity Picks·4y

    Micro Frontends

    Micro Frontends is an architectural approach to frontend development with the idea of thinking of a project as a collection of features independently owned by different teams. Each team is cross-functional and develops its features end-to-end, from database to user interface.

  4. 4
    Article
    Avatar of quastorQuastor Daily·4y

    The Architecture of Facebook's Distributed Message Queue

    Facebook Ordered Queue Service (FOQS) is an internal Facebook tool that fills that role. FOQS provides an API that consists of the following operations - Enqueue - Add an item Dequeue The dequeue API accepts a collection of (topic, count) pairs where count represents the number of items to return from the topic.

  5. 5
    Article
    Avatar of medium_jsMedium·4y

    The Ultimate Clean Architecture Template for TypeScript Projects

    The Ultimate Clean Architecture Template for TypeScript Projects. A guide on creating a layer-based TypeScript project template following the principles of clean architecture. A Detailed Implementation Guide Create your project directories and root Configuring Core, Data, and DI Setting up the mono repo configuration.

  6. 6
    Article
    Avatar of freecodecampfreeCodeCamp·4y

    Implement Event-Driven Architecture with React and FastAPI

    A course on the freeCodeCamp.org YouTube channel will teach you how to code an event-driven system with React, FastAPI, and Redis. You will learn to use the Finite State Machine pattern. The program will change the state every time there is a new event.

  7. 7
    Article
    Avatar of rhdevRed Hat Developer·4y

    8 elements of securing Node.js applications

    Security practices apply to both the code itself and your software development process. Validate user input Unvalidated input can result in attacks such as command injection, SQL injection, and denial of service, disrupting your service and corrupting data.

  8. 8
    Article
    Avatar of btrprogBetter Programming·4y

    How To Implement a TypeScript Web App With Clean Architecture

    The Ultimate Clean Architecture Template for Typescript Applications is a guide on creating a layer-based typescript project template following the principles of clean architecture medium. The user should be able to change the amount of increment/decrement for a counter. The user's counters should be saved if they close the application and open it again. We need a way to store data locally, i.

  9. 9
    Article
    Avatar of hashnodeHashnode·4y

    Learn how to build a microservice using Node.js and RabbitMQ.

    Learn how to build a microservice using Node.js and RabbitMQ. This tutorial will teach you about microservices and how to create a simple e-commerce microservice architecture with two services; product and order. In the following section, we will look at some of the prerequisites for this tutorial. Make another folder for the routes, call it routes, then inside it, have a file routes.

  10. 10
    Article
    Avatar of hashnodeHashnode·4y

    Fabric: The new Architecture

    Fabric is the React Native forerunner to the old legacy renderer. Fabric takes a different approach to how UI view instances will be created in a React Native application. The new Fabric architecture changes none of this but builds on it, making the experience even more platform specific.

  11. 11
    Article
    Avatar of modernescppMC++ Blog·4y

    Classification of Design Patterns

    The book "Design Patterns: Elements of Reusable Object-Oriented Software" presents creational patterns, but not destructional patterns. The patterns that are written in bold fonts are the ones I used heavily in my past. All 23 Design Patterns are only variations of CarPart. The same holds for many young people in Germany.

  12. 12
    Article
    Avatar of bytebytegoByteByteGo·4y

    EP18: Build a chat application. Also...

    The diagram is based on the tech talk by Jessica Tai. The micro service architecture focuses on the unification of APIs. With blockchains, we can merge wallet services from different banks into one global service. The diagram below shows how we can leverage the pub-sub functionality of Redis to develop a chat application.

  13. 13
    Article
    Avatar of gcgitconnected·4y

    Microservices with Node.js, Kubernetes, and RabbitMQ

    Kubernetes (‘K8s’) is an open source system for automating and managing container orchestration that grew out of Google’s Borg, and is now maintained by the Cloud Native Computing Foundation. A microservice architecture means that your app is made up of many smaller, independent applications RABBITMQ_URL. The orders/index.js will be listening for an ‘ORDER’ message and as soon as it gets that message.

  14. 14
    Article
    Avatar of hashnodeHashnode·4y

    Building an Event-Driven Architecture at Hashnode.

    This is the first post of the series: Building an Event-Driven-Architecture at Hashnode. The stack will consist of: Amazon EventBridge Amazon Lambda Amazon SQS.

  15. 15
    Article
    Avatar of pointerPointer·4y

    Software Visualization — Challenge, Accepted - Spotify Engineering

    Spotify System Model presents a set of core entities and abstractions we can use to synthesize data about our software health, ownership, and dependencies. The C4 is a lightweight and straightforward approach to visualizing software. We don’t want to reinvent the wheel, so we kept C4 notation and best practices and replaced its abstraction layer with the Spotify System model.

  16. 16
    Article
    Avatar of pointerPointer·4y

    Event Driven Architecture — 5 Pitfalls to Avoid

    At Wix we have been gradually migrating our growing set of microservices from the request-reply pattern to event driven architecture over the last few years. Below there are 5 pitfalls that Wix engineers have encountered during our experimentation with event-driven architecture.

  17. 17
    Article
    Avatar of pandProAndroidDev·4y

    Build a Real-Time Android WhatsApp Clone With Jetpack Compose

    Build a real-time Android WhatsApp Clone with Jetpack Compose and Stream’s versatile Compose Chat SDK. In this post, you’ll learn how the app architecture was designed and how data flows between different layers. WhatsApp Clone Compose uses Material Theme for styling the overall UI elements and defining custom color schemes with lightColorSceme and darkColorSCEme methods.

  18. 18
    Article
    Avatar of hashnodeHashnode·4y

    5 Approaches To Improve As A Software Engineer

    If you have meaningful ideas that you can work on, build them as a side project. If you don’t have any idea but want to improve your skills, build any fun project. Sharing knowledge improves soft skills, such as technical writing, communication, and confidence. Building an audience, or at least sharing content online, can bring you new opportunities.

  19. 19
    Article
    Avatar of devblogsDevBlogs·4y

    Windows Package Manager 1.3

    The Windows Package Manager Community Repository will begin accepting submissions for other portable packages after the upgrade has rolled out to a majority of the user base. This should take about one week. If you want to submit a pull request, go ahead.

  20. 20
    Article
    Avatar of dzDZone·4y

    Simplify Your Microservices Architecture: Data API

    The data API gateway takes on the responsibility of managing data persistence for hotels, rates, inventory, and other data types. Data types can be added to the gateway by providing a schema or data model. Document-style endpoints can provide a "schema-less" experience in which any valid JSON document can be stored, such as a hotel description.

  21. 21
    Article
    Avatar of containersolutionContainer Solutions·4y

    WTF is Evolutionary Architecture?

    Evolutionary architecture is the practice of considering a spectrum of dimensions around the architecture. It’s possible to get caught up in trying to create the perfect architecture that caters to all concerns. Having teams wait for architectural instructions will cause a big bottleneck, which you want to avoid.

  22. 22
    Article
    Avatar of bignerdranchBig Nerd Ranch·4y

    Go Generics in API Design

    Go Generics in API Design Go 1.18 has finally landed, and with it comes its own flavor of generics. For example, you should try to handle errors before using panic since the latter will end up exiting your program. Since this compiles, we won’t know this broke something until we deploy and get the bug report.

  23. 23
    Article
    Avatar of jsPlainEnglishJavaScript in Plain English·4y

    React Native Architecture — Old Vs New

    React Native helps us to build cross-platform applications by creating native elements which can then be easily understood by the native world. The current architecture is based on 3 major threads- Main/Native/UI thread. The new architecture introduces a different layer known as JavaScript Interface (JSI) as a replacement for React Native bridge.

  24. 24
    Article
    Avatar of discdotDiscover .NET·4y

    Shared Database between Services? Maybe!

    Is a shared database a good or bad idea when working in a large system that's decomposed of many different services? Or should every service have its own database? My answer is yes and no, but it’s all about data ownership. Using a local cache when executing a command means using stale data.

  25. 25
    Article
    Avatar of modernescppMC++ Blog·4y

    The Structure of Patterns

    "Design Patterns: Elements of Reusable Object-Oriented Software Architecture" and "patterns" are the most influential books ever written about software development. Christopher Alexander uses the three adjectives useful, usable and used to describe the benefits of patterns. The strategy pattern is so baked in the design of the Standard Template Library that we may not see it.