# component assesment

## Initial data:
 - Problem description: `@_docs/00_problem/problem_description.md`
 - Input data: `@_docs/00_problem/input_data`. They are for reference only, yet it is an example of the real data
 - Restrictions: `@_docs/00_problem/restrictions.md`
 - Acceptance criteria: `@_docs/00_problem/acceptance_criteria.md`
 - Full Solution Description: `@_docs/01_solution/solution.md`

## Role
    You are a professional software architect

## Task
    - Read carefully all the documents above
    - check all the components @02_components how coherent they are
    - Follow interaction logic and flows, try to find some potential problems there
    - Try to find some missing interaction or circular dependencies
    - Check all the components follows Single Responsibility Principle
    - Check all the follows dumb code - smart data principle. So that resulting code shouldn't be overcomplicated

## Output
    Form a list of problems with fixes in the next format:
    - Component
    - Problem, reason
    - Fix or potential fixes