Clean Architecture in Python

Clean Architecture in Python

This course teaches software engineers the principles of clean architecture as they write code for layered web applications in Python.

Beginner

50 Lessons

6h 35min

Certificate of Completion

This course teaches software engineers the principles of clean architecture as they write code for layered web applications in Python.

AI-POWERED

Explanations

AI-POWERED

Explanations

This course includes

25 Playgrounds
6 Quizzes

This course includes

25 Playgrounds
6 Quizzes

Course Overview

Clean architecture is a software design methodology that separates the processes of an application into discrete steps instead of presenting them as “spaghetti code.” With the versatility of Python, software engineers can build performant, modular applications quickly using the Flask framework. This course will help you build better applications using the principles of clean architecture. You’ll start with an introduction to data flow in clean systems and learn about the advantages of layered architectures...Show More

TAKEAWAY SKILLS

Python

Programming Language

Clean Architecture

What You'll Learn

Learn the importance and principles of clean architecture.

Design and build applications using the principle of layering functional components.

Understand external connectivity using the Flask Python framework.

Learn to integrate both structured and unstructured data with Postgres and MongoDB.

What You'll Learn

Learn the importance and principles of clean architecture.

Show more

Course Content

1.

Get Started

This chapter introduces clean architecture for improved software design, emphasizing modularity, maintainability, and practical applications in Python.
2.

A Day in the Life of a Clean System

This chapter emphasizes the importance of data flow and layered architecture in clean systems, enhancing maintainability, testability, and component separation.
3.

Components of Clean Architecture

In this chapter, you will learn clean architecture principles, including divide and conquer strategy, data type handling, layered design, and APIs.
4.

A Simple Coding Example

This chapter details developing a room rental app with clean architecture, covering project setup, domain models, serialization, use cases, and CLI integration.
5.

Add a Web Application

This chapter focuses on creating a web application using Flask, highlighting HTTP endpoints, testing via TDD, and understanding WSGI integration.
6.

Error Management

9 Lessons

This chapter emphasizes robust error handling in clean architecture, focusing on structured request and response handling to ensure system reliability.
7.

Integration with a Real External System Postgres

9 Lessons

In this chapter, you will integrate PostgreSQL in clean architecture, focusing on repository creation, testing, and decoupling to enhance system flexibility.
8.

Integration with a Real External System MongoDB

4 Lessons

This chapter demonstrates clean architecture’s flexibility and adaptability to integrate various technologies and approaches such as MongoDB.
9.

Run a Production-ready System

5 Lessons

This chapter covers building a production-ready system with Docker and PostgreSQL, ensuring robust web app deployment, and database migrations.
10.

Appendix

1 Lesson

This chapter explains the setup process for a Flask application, including dependencies and configuration steps for effective development.

Course Author

Trusted by 1.4 million developers working at companies

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Evan Dunbar

ML Engineer

Carlos Matias La Borde

Software Developer

Souvik Kundu

Front-end Developer

Vinay Krishnaiah

Software Developer

Eric Downs

Musician/Entrepeneur

Kenan Eyvazov

DevOps Engineer

Souvik Kundu

Front-end Developer

Eric Downs

Musician/Entrepeneur

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

AI-Powered Mock Interviews

Adaptive Learning

Explain with AI

AI Code Mentor

FOR TEAMS

Interested in this course for your business or team?

Unlock this course (and 1,000+ more) for your entire org with DevPath