Modern architecture for a CRUD-Application in Django without an SPA-Frontend

Django is an opinionated framework. It recommends a structure for how to build the application and as a developer you should follow. However, from a frontend perspective it is very traditional with the strict differentiation of views, templates and styles – in contrast to SPA-technologies like Angular2+, React or Vue which uses a component-approach.

If you have a more or less pure CRUD-application, it can make sense to rely on Django completely instead of programming an SPA-Frontend. Django provides a lot of features out of the box in a good structured manner. BUT the strict separation most often lead to complex views and templates after some time with a lot of violations of the Single Responsibility Principle, although at the beginning everything seems fine.

In this article, I will show an alternative Django-structure on how to implement a component-approach.

Continue reading “Modern architecture for a CRUD-Application in Django without an SPA-Frontend”

Architecture, Paradigmas, Design Patterns, Principles, Clean Code

  • Architecture: description of system (structure, relationships, collaboration)
  • Programming Paradigmas: imperative, functional, object-oriented
  • Design Pattern: usually parts of the systems; generic solution design for a problem; an architecture uses many design patterns
  • Programming Principles: SOLID, Law of Demeter, etc.; generic best practices
  • Clean Code: lowest level, actual source code; e.g. code formatting, lines per functions;