Add features to an existing account registration/subscription process in a Rails application
$250-750 USD
Concluído
Publicado há mais de 10 anos
$250-750 USD
Pago na entrega
A coach needs to be able to buy subscriptions for themselves, like they already can, but some of these subscriptions will include licenses for students to gain access to the app.
An example would be Coach Plan 1 having 10 student invites/licenses (say these licenses are for Student Plan 1) included. So a coach should be able to invite a student by email and the student becomes registered for the Student Plan 1 that the coach has already paid for with his purchase of Coach Plan 1.
A little more detail:
When a coach buys a subscription that includes 10 student licenses:
The coach can invite students to subscribe via their email address
When the student receives the invite, they follow a link from their email that explains the subscription the coach invited them to (the coach's name, the features of the subscription).
After the student confirms the subscription details, they register with the app as normal - except they won't be prompted to pay for a subscription as the coach has already paid for them.
The student can sign up as normal, but when they are prompted for a subscription they can select the option 'a coach invited me' and search through a list of coaches for their coach.
When they find the coach they want they can select something like 'this is my coach, tell them I signed up'
The student could then be told that they will receive an email once the coach accepts their request and gives them a subscription to the app. Their subscription would be activated after the coach confirmed that the student is actually their student, and the coach's student invitation/subscription count would go down by 1.
A deeper explanation of the specific case where a user will be automatically authenticated via an email link shared with them by another user:
We will use authentication token in email link.
Once user clicks that link, he will be logged in and will be asked 'Do you want to subscribe Student #1 Plan ?'
If 'YES' he will be subscribed automatically and we will assign the student role, and we will not let him to change it.
If 'NO', we will don't apply subscription to him anymore and he will do regular signup. (For email verification - coach can send many requests to different emails, and that email can't sign up to your application as 'coach' role anymore)
We can discuss deeper details of other features.
It is expected that Rspec tests will be included to thoroughly test the added functionality.
After acceptance of the job the freelancer will be given access to the private git repository where the project is located and completed work can be committed to a new branch within that repository.