Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New repo structure #1488

Merged
merged 14 commits into from
Apr 4, 2024
Merged

New repo structure #1488

merged 14 commits into from
Apr 4, 2024

Conversation

jacobwod
Copy link
Member

@jacobwod jacobwod commented Mar 14, 2024

UPDATE AFTER MERGE TO DEVELOP
This merge is now complete. However: after you pull the latest develop, there's a good chance that you will still have the new-* directories on your drive. The reason is that even though those directories have been moved to apps/ and renamed, some of its contents were previously ignored (by .gitignore). Examples include installed node_modules, log files, your local map configurations in App_Data, etc. Make sure to control what's left, move whatever you want to keep to the new locations and finally **delete the new-* directories.

This project has for a long time in fact been some kind of a monorepo, with multiple applications scattered around the root directory, accompanied by some helper scripts, build files and documentation. I propose we clean this up a bit. The goals are:

  • clear structure that mimics other popular projects
  • "apps" are grouped together in a directory (please not that "apps" does not necessarily mean "something with an UI" in this context - often repos put their APIs inside the apps folder - that what I propose to stick to)
  • scripts moved to a separate location
  • perhaps some restructuring regarding our Docker build files
  • and finally, let's drop the new- prefix on our apps

This PR is not ready for a merger yet, please leave your input below or push changes directly to PR branch.

I wouldn't want to complicate any ongoing development or break custom build scripts, so let's collaborate on this one. 🤝

UPDATE:

I realise this PR is rather large, so here's a more visual view of the changes as proposed at time of writing.
Skärmavbild 2024-03-14 kl  11 01 41

@sweco-semara
Copy link
Contributor

@jacobwod Looks good! I've been thinking for a long time that the "new-" is getting old in the meanwhile. 😃 A clean structure is a really good idea and for my part I like the new structure on an overview level. Maybe complemented by a top community/ or contrib/ folder with a similar structure as current top level for it's respective back-end and module contributions/community initiatives. Some repos use this structure on the top and some put community as sub-level under respective app/component. I like the top part as a clear signal for "not core", but both works for me. I will check out this branch and do more testing to give proper feedback on a detailed level but just wanted to give a quick +1 that I think this PR is great idea. 👍

@jacobwod
Copy link
Member Author

I agree @sweco-semara. Regarding the new "home" for our community extensions/plugins - I think it's been overlooked. It's good you mention it.

I think there are at least two mutually exclusive solutions: either a) in other forks, outside of the main repo (kind of disorganised, people can put their contributions wherever they want), or b) as a top-level community/ directory (as you propose; I like the one directory, top-level solution too).

If we go for B: should we allow back-merging of community extensions to the main repo, or just leave community/ as a placeholder, to make it easier for those forking and building their own custom releases? (I understand it's a big decision, but we can talk about it now and change in the future, if it doesn't work out for some reason. 😄)


Just a quick tip for those of you wanting to test this branch: I highly recommend cloning it into a separate directory on your local computer in order to avoid directories being created and disappearing when you switch branches. Next you could run script/reinstall_modules.sh as it's already been prepared for this new structure.

@jacobwod jacobwod marked this pull request as ready for review March 19, 2024 13:33
@jacobwod jacobwod added this to the 3.14 milestone Apr 3, 2024
@jacobwod jacobwod merged commit 49f36f5 into develop Apr 4, 2024
@jacobwod jacobwod deleted the new-repo-structure branch April 4, 2024 08:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: In progress
Development

Successfully merging this pull request may close these issues.

3 participants