Architecture Decision Record

Active theme: Light

← Decision record examples

Architecture Decision Record fo Python Django Framework

Decision Date: 2021-07-15

Status: Accepted

Context

Our organization dey plan to develop web application wey go manage customer data. We don choose Python as di programming language and we dey consider Django as di web framework to develop di application.

Decision

We don decide to use Django web framework to develop di web application. Django provide robust set of tools and features to build web applications quick and efficiently.

Factors

Some of di factors wey influence our decision include:

  1. Object-Relational Mapping (ORM): Django get built-in ORM wey allow us to interact with di database without to write SQL queries. Dis one make am easier to develop di application and maintain am for long run.

  2. MVC framework: Django follow Model-View-Controller (MVC) architecture, wey make am easier to separate di business logic and presentation layers of di application.

  3. Scalability: People know Django for im scalability capabilities, wey make am excellent choice to develop large-scale applications.

  4. Security: Django get built-in security features, like protection against common web attacks like cross-site scripting (XSS) and SQL injection.

  5. Community Support: Django get large and active community wey provide support and contribute to di development of di framework.

Alternatives Considered

We consider other web frameworks like Flask and Pyramid. But we find say Django na more mature and well-established framework with robust set of features.

We also discuss to develop di application without web framework and use libraries like SQLAlchemy and Flask-RESTful. But we find say Django offer broader functionality, wey make am better choice for complete web application.

Consequences

Di adoption of Django go lead to dis consequences:

  1. E go easier to develop and maintain di application because of Django built-in tools and features.

  2. Separation of business logic and presentation layer, wey go lead to more organized code wey easier to maintain.

  3. Scalability and robustness of di application.

  4. Built-in security features wey help protect di application against common web attacks.

  5. Access to large and active community for support.

We understand say Django get steeper learning curve than other frameworks, but we see say e worth di investment because of di long-term benefits wey e provide.

Conclusion

Based on di factors wey we consider, we don decide to use Django web framework to develop di web application. We believe say Django features, community support, and scalability capabilities make am di best choice to build complete web application. We go train our developers to use Django so say dem go use di framework effectively and efficiently.