Open MN3141 opened 1 month ago
Should we choose to split them apart, we could then use 'repo' tool from Google.
I don't think Google's tool is a viable option since nobody (except you) know the tool well enough to be efficient with it. Instead we can try to create a 'Monorepo' ( have a look here for more details), these are my suggestions for a monorepo approach:
/monorepo-root
/packages
/app1
/src
/tests
/public
/dist
package.json
/app2
/src
/tests
/public
/dist
package.json
/scripts
/config
/docs
lerna.json
- root
- frontend/ (Next.js)
- backend/ (Python API)
- infra/ (optional, for deployment scripts, CI/CD configuration, Docker files, etc.)
- docs/ (optional, project documentation)
- .github/ (GitHub Actions, etc.)
- root
- apps/
- web/ (your frontend, e.g., Next.js)
- api/ (your backend, e.g., Python API)
- packages/ (shared code, utilities, or libraries for both apps)
- ui/ (reusable UI components)
- services/ (shared services like authentication or API clients)
- infra/ (infrastructure scripts, deployment configurations, Docker, Terraform)
- scripts/ (automation scripts, e.g., CI/CD)
- docs/ (documentation for the repo)
- .github/ (GitHub Actions, workflows)
I kindda like the 3'rd option tbh, it was suggested by gpt and I think it works well enough for our purpose, what do you guys think?
I like the last two options.
Third one is the best, we will discuss it in a meeting. 😘
third one, but enter the backend for educational platform and for simulator in diferent folders
We should decide how to effectively create the directory structure of this repository in order to isolate backend-frontend parts and have a smoother development experience. We could either leave them as a single repository or split them.