pivot-libre / pivot

Pivot is a web app for conducting Ranked Pairs elections
https://pivot.vote/
Apache License 2.0
8 stars 7 forks source link

Make Registration Easy #200

Closed carlschroedl closed 5 years ago

carlschroedl commented 6 years ago

As grandma I want to register so that I can see what all the hullabaloo is about this "Ranked Pairs" voting the whippersnappers are talking about.

carlschroedl commented 6 years ago

Can we simplify the user experience by splitting this into two pages?

  1. Enter email address. On form submit, it sends registration email.
  2. Complete registration. Users arrive at this page by clicking on the token-endowed link in their email. The user's email address is displayed on the page. Users complete sign-up by entering their name and password.
carlschroedl commented 6 years ago

Changes to the registration pages would potentially break the selenium-driven create_users function in tests.py. I notice our build doesn't use this functionality by default; instead it uses the TravisSeeder class to achieve the same results. If breaking changes to the registration pages occur, what should we do with the create_users Python function? Fix it? Delete it?

tylerharter commented 6 years ago

I like the suggestion about splitting into two pages (or at least make it feel like two different pages with JS).

tylerharter commented 6 years ago

I'm fine getting rid of create_users, unless you think it's useful for testing purposes.

I added create_users because I didn't know about the Laravel seeding stuff, and I wanted some way to create users automatically. @olivernybroe later added the seeding, which I think is cleaner.

Personally, I would delete create_users for now, and add it back later only if we want to have selenium tests of registration.

carlschroedl commented 6 years ago

Thanks for the helpful context and for weighing in on the suggestion!

olivernybroe commented 6 years ago

You can also do selenium testing directly in Laravel, think it's called Laravel Dusk