mirror of
https://github.com/azaion/gps-denied-desktop.git
synced 2026-04-22 07:06:37 +00:00
d5c036e6f7
some files rename
2.0 KiB
2.0 KiB
Create initial structure
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 - Components with Features specifications:
@_docs/02_components
Role
You are a professional software architect
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 components and its features
- Make a plan for the creating initial structure:
- DTOs
- component's interfaces
- empty implementations
- helpers - empty implementations or interfaces
- add README.md, describe the project by @_docs/01_solution/solution.md
- Create a separate project for the integration tests
Example
The structure should roughly looks like this:
- api
- components
- component1_folder
- component2_folder
- ...
- db
- helpers
- models
- tests
- unit_test1_project1_folder
- unit_test2_project2_folder ...
- integration_tests_folder
- test data
- test01_file
- test02_file ...
Also it is possible that some semantically coherent components (or 1 big component) would be in its own project or project folder Could be common layer or project consisting of all the interfaces (for C# or Java), or each interface in each component's folder (python) - depending on the language common conventions
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