class AliFazeli:
def __init__(self):
self.name = "Ali Fazeli"
self.role = "Backend Engineer"
self.language_spoken = ["en_US", "fa_IR"]
self.email = "rabbitix98@gmail.com"
def tech_stack(self):
return {
"backend": {
"languages": ["Python"],
"frameworks": ["FastAPI", "Django"],
"orm": ["SQLAlchemy"],
"validation": ["Pydantic v2", "Python built-in types"],
},
"architecture": ["Clean Architecture", "Domain-Driven Design"],
"containerization": ["Docker"],
"version_control": ["Git"],
"databases": ["SQL"]
}
def current_focus(self):
return "Building maintainable APIs with FastAPI + Pydantic + SQLAlchemy"
I follow a structured approach to backend development, organizing my projects with clear separation of concerns:
src/
βββ configs/ # Application configuration
βββ helpers/ # Utility functions and exception handling
βββ logics/ # Business logic implementation
βββ model/ # Domain models, DTOs, and type definitions
βββ repositories/ # Data access layer with adapters
βββ services/ # Service layer implementation
- Clean Architecture: Clear separation between domain logic and technical implementation
- Type Safety: Leveraging Python's type system and Pydantic for robust validation
- Maintainability: Structured code organization for long-term sustainability
- Performance: Optimized backend systems built for scale