Architecture Decision Record

Active theme: Light

← Decisioun record examples

Architectur Decisioun Record for Python Django Framewark

Decision Date: 2021-07-15

Status: Accepted

Context

Oor organisation is plannin tae develap a wab application that manages customer data. We hae chosen Python as the programmin leid an are considerin Django as the wab framewark for the develapment o the application.

Decision

We hae decidit tae uise the Django wab framewark for the develapment o the wab application. Django provides a robust set o tuils an features for biggin wab applications quickly an efficiently.

Factors

Some o the factors that influenced oor decisioun include:

  1. Object-Relational Mapping (ORM): Django haes a biggit-in ORM that lets us interact wi the databaise athoot screivin SQL queries. This maks it easier tae develap the application an keep it up in the lang run.

  2. MVC framewark: Django follaes a Model-View-Controller (MVC) architectur, makin it easier tae separate the business logic an presentation layers o the application.

  3. Scalability: Django is kent for its scalability capabilities, makin it an excellent chyce for develapin lairge-scale applications.

  4. Security: Django haes biggit-in security features, sic as protection against common wab attacks like cross-site scriptin (XSS) an SQL injection.

  5. Community Support: Django haes a lairge an active community that provides support an contributes tae the develapment o the framewark.

Alternatives Consideret

We consideret ither wab frameworks sic as Flask an Pyramid. But, we foond that Django is a mair mature an weel-establisht framewark wi a robust set o features.

We an aw discussit develapin the application athoot a wab framewark an uisin leebraries like SQLAlchemy an Flask-RESTful. But, we foond that Django offers braider functionality, makin it a better chyce for a complete wab application.

Consequences

The adoption o Django will lead tae the follaein consequences:

  1. Easier tae develap an keep up the application acause o Django’s biggit-in tuils an features.

  2. Separation o business logic an presentation layer, leadin tae mair organised an easier tae keep up code.

  3. Scalability an robustness o the application.

  4. Biggit-in security features that help protect the application against common wab attacks.

  5. Access tae a lairge an active community for support.

We unnerstaun that Django haes a steeper learnin curve than ither frameworks, but we find that it is worth the investment for the lang-term benefits it provides.

Conclusion

Based on the factors consideret, we hae decidit tae uise the Django wab framewark for the develapment o the wab application. We believe that Django’s features, community support, an scalability capabilities mak it the best chyce for biggin a complete wab application. We will train oor developers tae uise Django tae ensure that the framewark is uised effectively an efficiently.