Clean Architecture made simple: My version of the dartboard diagram

Поділитися
Вставка
  • Опубліковано 23 гру 2024

КОМЕНТАРІ • 27

  • @bklynpeter
    @bklynpeter 3 місяці тому

    This is awesome. I know you did an exhaustive refactoring of a large project to meet the Clean Architecture approach. It would be hugely helpful to see a relatively simple project built from the ground up based on these principals. All great and appreciated.

    • @nikolovlazar
      @nikolovlazar  3 місяці тому

      Thanks! I did create a simple todo app that implements CA here: github.com/nikolovlazar/nextjs-clean-architecture I also have a more in-depth tutorial about CA on my channel.

  • @patrikpyrzanowski5440
    @patrikpyrzanowski5440 2 місяці тому

    Thank you!

    • @nikolovlazar
      @nikolovlazar  2 місяці тому

      Woah! Thanks for the superthanks! 💖

  • @bitkillerjones
    @bitkillerjones 5 місяців тому +11

    a tutorial where you build an application from scratch implementing this architecture step by step would be awesome

    • @nikolovlazar
      @nikolovlazar  5 місяців тому +15

      It's already in the making 👀 I think it's going to be a multipart course that I'll publish here on UA-cam, along with a GitHub repo. I do plan to use Next.js since it was most requested, but it won't matter since this applies to the backend part, which is plain JavaScript.

    • @bitkillerjones
      @bitkillerjones 5 місяців тому

      @@nikolovlazar Thank you so much. Your livestreams are also helpful although i admit it can get a bit challenging for me. Hoping this will give me a better mental model to start implementing into my own projects.

    • @nikolovlazar
      @nikolovlazar  5 місяців тому +2

      @@bitkillerjones that's my goal as well. The course that I'm planning will be beginner friendly so everyone can follow along. The live streams are messy. It's me figuring things out, making mistakes, constantly changing my mind, but some folks find them useful because it's "raw content". It's unedited, and that's actually how I write code, how I debug, how I figure out what's wrong 😅

    • @velifurkanturkoglu1387
      @velifurkanturkoglu1387 5 місяців тому

      @@nikolovlazar I have already built a small interesting app and waiting for your more concise video on Clean Architecture, then I will convert the app I made! At least give it a go.Thanks a lot!

    • @nikolovlazar
      @nikolovlazar  5 місяців тому

      @@velifurkanturkoglu1387 that's great!

  • @visheshdubey6204
    @visheshdubey6204 5 місяців тому +1

    Can you share the git repo for the clean arch series?

    • @nikolovlazar
      @nikolovlazar  5 місяців тому +1

      Very soon! I’ll be publishing a different one.

  • @Deus-lo-Vuilt
    @Deus-lo-Vuilt 5 місяців тому

    Thank you, I like to see this whole process, I hope for more material like this

    • @DigitalAlchemyst
      @DigitalAlchemyst 5 місяців тому +1

      Check this live stream he has about 30 hours of content on this subject

  • @devyb-cc
    @devyb-cc 5 місяців тому

    on my recent project (flutter) i use simplified version like this
    features
    auth
    domain (models, repo interface)
    data (remote, local, cache)
    presentation (components, state)

    • @devyb-cc
      @devyb-cc 5 місяців тому

      for most frontend codebase you don't really need to write a repo interface tho, also models if you have auto generated configured. if we use typescript, life would be so much easier also.

    • @devyb-cc
      @devyb-cc 5 місяців тому

      imo, the repo interface is really needed if your app needs more than one main datasource.
      why i chose this is because the latest tools such as prisma are easy to switch.

    • @nikolovlazar
      @nikolovlazar  5 місяців тому +1

      @@devyb-cc Great job! Having features folders and everything inside is the proper DDD way. I like it! For the TypeScript part, if you don't plan to write tests then sure, you don't need to define them with an interface, but if you need to write tests then you'd need to mock parts of your app that use databases or third-party services. The common solution for this is to use Dependency Injection, and it order to make it work you'd need to split up the implementation and definition. That's when you'll find interfaces to be the natural solution.

    • @devyb-cc
      @devyb-cc 5 місяців тому

      @@nikolovlazar yess absolutely, most of the time mvc is enough tho, but i like to structure my "m v c" the scalable way which is this way 👍
      DI is nice, but i like to spin it up myself rather than using reflect metadata.

    • @nikolovlazar
      @nikolovlazar  5 місяців тому

      @@devyb-cc How do you do DI? I tried implementing a Service Locator in JavaScript, and it started to get too complicated so I opted to use a library instead.

  • @ricodealma2204
    @ricodealma2204 4 місяці тому

    Nice content !!