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

Transition from flask to django #171

Open
The-Ludwig opened this issue Jan 21, 2023 · 2 comments
Open

Transition from flask to django #171

The-Ludwig opened this issue Jan 21, 2023 · 2 comments
Labels
django Related to the django rewrite

Comments

@The-Ludwig
Copy link
Contributor

This should be the last issue before the switch to django is done.

@The-Ludwig The-Ludwig added the django Related to the django rewrite label Jan 21, 2023
@The-Ludwig The-Ludwig added this to the Django Rewrite milestone Jan 21, 2023
@maxnoe
Copy link
Member

maxnoe commented Feb 8, 2023

ok, lots of discussion today, let me summarize my view and why I think this is reasonable.

There are some issues we have with flask, mainly:

  • flask itself is (by-design) a micro-framework, it only comes with the bare-bones functionality, views, request handling, templating. Everything else comes from either more-or-less well maintained plugins or we have to write it ourselves. Even such crucial things for us like the flask-admin extension are on the "less well maintained side"

  • Documentation is thus very fragmented and that multiple extensions work well together is not guaranteed and that they can be updated together is similarly not guaranteed

Compared to that, for django:

  • Is a large framework, that has most of what we need out of the box (forms, templates, database, migrations, admin, roles, access granularity etc)
  • Documentation is very good and not fragmented over many places
  • Since it's one package, the parts are maintained together and are updated at the same time

So, for the longer term I think django is the safe choice, also for handing over to new people.

@maxnoe
Copy link
Member

maxnoe commented Feb 8, 2023

For how we might do this, I think it is best to do a real rewrite from scratch in django, implementing features from basic to more advanced in small, easy to review PRs.

The list would be

  • basic django project structure
  • basic user authentication / creation / etc. for admin users
  • Sending emails for password reset / error logging
  • The membership registration / membership status and connected functionality
  • The event system
  • SEPA

The main points from the README still stand I'd say, use env for configuration, poetry for dependencies, server-side html templating, no separate frontend framework.

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

No branches or pull requests

2 participants