We are in the process of developing an open-source library that will consist of a server-side component written in C# for Web API, meta-data extraction, DB operations, etc., and a client-side component written in TypeScript for UI development.
Typically, our repositories follow a traditional structure:
- docs/ - documentation
- samples/ - sample projects
- src/ - library source code
- tests/ - unit and integration tests
However, we are facing a dilemma on how to organize this Git repository as the server-side and client-side components are inherently different (except for possibly shared sample projects).
As of now, we are leaning towards a structure like this:
- samples/
- client/
- docs/
- src/
- tests/
- server/
- docs/
- src/
- tests/
Despite this proposed structure, I am still uncertain and welcome any suggestions or ideas from the community.
Should we consider splitting it into two separate repositories? Our goal is to maintain unified versioning across both server-side and client-side components without unnecessary complications.