8 Crosscutting Concepts - maex0/SoftwareQualityWithCats GitHub Wiki

Domain concepts

Too reduce complexity for this small project, no Domain Transfer Object (DTO) is used. Instead only the generated entity of prisma is used as DTO.

Architectural patterns

The application follows the React Component-Based Architecture, leveraging functional components and hooks for managing state and side effects. This pattern allows for a modular and reusable codebase, where UI components can be developed and maintained independently.

  • Functional Components with Hooks: The application extensively uses React functional components along with hooks like useState and useEffect for encapsulating and managing the state and lifecycle of components.

Design patterns

  • State Management Pattern: The application uses local component state management, avoiding the need for more complex state management solutions. This keeps the application lightweight and straightforward.

User experience concepts

The user should also be able to use the application without the database. Therefore the feature where the user can see the last likes is disabled. The user can still like and unlike images and view new cat images.