# 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