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

Package revolution #140

Closed
bouncepaw opened this issue Mar 26, 2022 · 1 comment
Closed

Package revolution #140

bouncepaw opened this issue Mar 26, 2022 · 1 comment

Comments

@bouncepaw
Copy link
Owner

Currently, we store all HTTP handlers in one place, views in one place, their back-end models in one place. Used to do the same with localization, but I am currently bringing it closer to the actual views as part of #117.

I am starting to think that views and handlers should be in the same packages as their back-end friends. For example, the categories package. Or, the history packages. They would have everything inside and export only those things that should actually be stored. I expect it to be initialization stuff for many packages.

A good thing: this is 100 % architecture-only change, so users won't notice any difference during experimentation, which might take months.

@bouncepaw
Copy link
Owner Author

Reporting progress.

As of now, these modules got their own isolated packages with everything needed inside:

  • Categories
  • Backlinks
  • Help
  • Miscellaneous single pages

This is left:

  • History
  • Mutators
  • Readers
  • &c

Overall, I feel quite content with how it's all going. The number of inter-package relations reduces, making it easier to understand the codebase. A downside has emerged: there is a similar boilerplate in every such package. It's bearable.

I will merge the pkg-revolution branch. It didn't break anything (at least, I didn't find any new bugs), and the old and new template approaches co-exist ok.

This issue remains open until the revolution is done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant