uqcomputingsociety / signup Goto Github PK
View Code? Open in Web Editor NEWThe UQCS membership signup system
Home Page: https://join.uqcs.org
The UQCS membership signup system
Home Page: https://join.uqcs.org
Currently you have to manually click "go back", which is fine if you do it at home. But on market day there are a lot of people, so it would be nice if it did it automatically after a short delay.
There are other possible solutions to this, like changing the "thankyou" page to just insert it at the top of the sign-up form, and clear the field.
It works when testing initially so maybe it only breaks after running for a period of time.
I suspect an unhandled exception is killing the Mailchimp worker. It could be related to this SQLAlchemy error:
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
self.run()
File "/usr/lib/python3.6/threading.py", line 864, in run
self._target(*self._args, **self._kwargs)
File "/srv/signup/lib/python3.6/site-packages/uqcs/workers.py", line 52, in mailchimp_worker
data['merge_fields']['SNUM'] = item.student_no
File "/srv/signup/lib/python3.6/site-packages/sqlalchemy/orm/attributes.py", line 282, in __get__
return self.impl.get(instance_state(instance), dict_)
File "/srv/signup/lib/python3.6/site-packages/sqlalchemy/orm/attributes.py", line 705, in get
value = state._load_expired(state, passive)
File "/srv/signup/lib/python3.6/site-packages/sqlalchemy/orm/state.py", line 660, in _load_expired
self.manager.deferred_scalar_loader(self, toload)
File "/srv/signup/lib/python3.6/site-packages/sqlalchemy/orm/loading.py", line 915, in load_scalar_attributes
"attribute refresh operation cannot proceed" % (state_str(state))
sqlalchemy.orm.exc.DetachedInstanceError: Instance <Student at 0x7fffe9d32be0> is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: http://sqlalche.me/e/bhk3)
It might be beneficial for there to be alternative signup forms; one for mass sign-ups that happen and are facilitated by committee, and those done by people at home/whom are otherwise online. This would allow us to tailor them for the people, e.g. for those at home; by not having a refresh period, having social links, and by a 'Pay Later' button as opposed to a pay in-person (as this caused confusion on market day). This would allow for more seamless transitions, for both groups of people.
Currently when members join, they're automatically sent a (very basic) receipt and that's it until the next regular email.
I suggest putting the receipt in an attachment and changing the email to a brief welcome message and links to socials. This would improve the onboarding for new members, making it easier for them to find and get involved with our platforms.
This needs to be redesigned for consistency with our website and Slack signup form.
Something such as slack.uqcs.org.au would be ideal.
Currently, most non-trivial validation is done server-side. This means that any errors wipes all fields, and requires re-entry.
This is not ideal, particularly at market day when there's a line of students.
I propose to move as much of the validation as possible to the client side, to allow faster detection of errors and correcting of the specific erroneous fields, without retyping.
Currently, there is only male, female, and other/unspecified which is not great. Moreover, the other option is indistinguishable from the unspecified option (both are stored as null).
We should at least add non-binary as an option and distinguish other and unspecified. Allowing free text under the other option would be nice but could complicate aggregate statistics.
Signing up to become a member should require you to read the code of conduct, a bit like a terms of service.
We could have a button like "use student email" which would fill the email field with [email protected]
from the student number.
However, this would require the student number input before the email input.
Set up an optional phone number field so that members can put in their phone number which can then be used to send them messages.
As per @kumar-ish:
optional phone number field for the future so we can send a text message in the future the day after market day with links to fb etc who opt for it (like clubs with QPAY)
Parts of the process need to be updated for 2019. Mainly changing 2018 -> 2019.
Sorting the list on the "accept" page will make life a lot easier for people on market day. It normally ends up doing this anyway, but it's not explicit so it can break.
Could also show the sign-up time on the list of unpaid members.
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.