Playing with GitHub pages
germannp / acbeo.ch Goto Github PK
View Code? Open in Web Editor NEWMobile-first web site for organizing aerobatic paragliding trainings :parachute:
Home Page: https://acbeo.ch
Mobile-first web site for organizing aerobatic paragliding trainings :parachute:
Home Page: https://acbeo.ch
With only acbeo.fly.dev live we didn't have any issues with spam, but on acbeo.ch we had to require login for the contact form after a few days. Now we start to get quite some bots registered ...
Ideally, when we have the bots under control, we would have the contact forms public again, and also publish an email and phone number, at least for logged in.
https://simpleisbetterthancomplex.com/tutorial/2017/02/21/how-to-add-recaptcha-to-django-site.html
For backwards compatibility Django still uses a username
to identify users. To make matters worse, this username
is not case sensitive. So if Geri forgets his password, he could just register a second account for geri with the same email
...
As a first miniature patch we require email
to be unique in the registration form. However, the proper way would probably be to write a custom User(AbstractUser)
without username
and identified by email
instead, see https://docs.djangoproject.com/en/4.0/topics/auth/customizing/#a-full-example. This would also allow us, to collect phone numbers at registration and use them to simplify announcing trainings and generating emails for the emergency services.
Unfortunately, introducing a custom User
is somewhat delicate and tends to mess with Django's neat authentication and permission system ...
An alternative would be to go with Django's User
with some more patching and a Profile
, which would contain phone number for now and potentially prepaid flights later on.
Just collecting small ideas :-)
max_pilots
) and Signup (e.g. is_certain
)bulk_create
for creating Training
s, as it might be able to update existing Training
srequired=False
and clean everything manually)Training.infos
when updating Training!is_certain
or WholeDay
for is_motivated
?contact.html
and 404.html
maybe too?SignupListView
by year (along the lines of ReportListView
)Signup
in create_bill
cash_at_end
is savedNone
with ? in list_reports
before Report.cash_at_end
is savedupdate_bill
when flights were paid (and not from abo)ReportListView
and BalanceView
are getting slower with every report
...create_absorption
MessagesTestMixin.assertMessages()
from Django 5Absorption
s to TWINT revenue in balanceWe have this beautiful vertical logo (Highres):
We should somehow incorporate it and create a theme around it!
Also, the layout and forms overall wouldn't mind some love :-)
Minor points:
d-grid
, others not; we should have a concept there 🤔pilot_update.html
should include sidebar.html
and arrange cards side by side on large screensCurrently we do the accounting in another app on a laptop. While this works and it is not necessary to integrate the accounting in the web site, it would have advantages:
Small TODOs:
Report
should have a field for remarks.Report
with unpayed Signup
s.Singup
s when listing Report
s.Run
is associated with the Signup
.Expense
should have radios with the most common things, like the form for Purchase
, but with an addtional other text fieldSingup
for Pilot
when creating Bill
.Signup
is stored and Report.cash_at_end
is missing.Expense
We currently have mostly integration tests. They make sure, that GET and POST requests lead to expected changes in the database and that the resulting responses contain expected elements, e.g. a button or a link. However, we do not test if these elements are rendered correctly and if the HTML forms generate the correct POST requests.
While I don't think it's absolutely necessary, it might be fun to try visual end-to-end testing :-)
Resources:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.