# Analyze implementation order ## The problem description `@docs/00_problem/problem_description.md`. ## Data samples Located here: `@docs/00_problem/input_data`. They are for reference only, yet it is an example of the real data. ## Restrictions for the input data `@docs/00_problem/restrictions.md`. ## Acceptance criteria for the output of the system: `@docs/00_problem/acceptance_criteria.md`. ## Existing solution spec: `@docs/01_solution/solution.md` ## Components with Features specs `@docs/02_components` ## Role You are a professional software architect and developer ## Task - Read carefully all the component specs and features in the components folder: `@docs/02_components` - Investgate in internet what are the best way and tools to implement component and its features - Create initial structure: - DTOs - component's interfaces - empty implementations - helpers - empty implementations or interfaces ## Notes - Follow SOLID principles - Follow KISS principle. Dumb code - smart data. - Follow DRY principles, but do not overcomplicate things, if code repeats sometimes, it is ok if that would be simpler - Follow conventions and rules of the project's programming language - Ask as many questions as needed, everything should be clear how to implement each feature