System Architecture
Structure, patterns and code organization in the E2D project
Layer Structure
React components, Next.js pages and UI elements. Only responsible for displaying data and capturing user interactions.
Business logic, TypeScript types and validation rules. Independent of frameworks and external libraries.
API access, databases and external services. Implements interfaces defined in the domain layer.
Design Patterns
Separation between components that handle logic (containers) and components that only present data (presenters).
Use of React composition patterns to create flexible and reusable components.
Data access abstraction through well-defined interfaces to facilitate testing and maintenance.
Creation of complex objects (like API clients) through factories that encapsulate construction logic.