-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
[HOLD for payment 2023-09-07] [$2000] [New feature] Teachers Unite sign-up flows #22857
Comments
Triggered auto assignment to @flaviadefaria ( |
Triggered auto assignment to Design team member for new feature review - @shawnborton ( |
Job added to Upwork: https://www.upwork.com/jobs/~0167d6cf391edcfcf4 |
Current assignee @flaviadefaria is eligible for the External assigner, not assigning anyone new. |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @parasharrajat ( |
Given the complexity of this implementation, I believe a base payment of $2000 would be appropriate. |
Upwork job price has been updated to $2000 |
ProposalPlease re-state the problem that we are trying to solve in this issue.
What is the root cause of that problem?
What changes do you think we should make in order to solve the problem?
Flow - 1 (Volunteer referral flow)
Flow -2 (Volunteer Sign-Up flow)
Case 1 (if logged user’s primary mail is non-public email)
Case 2 (if logged user’s primary mail is public email)
What alternative solutions did you explore? (Optional)
|
ProposalPlease re-state the problem that we are trying to solve in this issue.Implement part of the Teacher's Unite sign up process. What is the root cause of that problem?New Feature Request. What changes do you think we should make in order to solve the problem?
3. Implement the Volunteer referral flow
4. Implement the Volunteer sign-up flow
What alternative solutions did you explore? (Optional)xx |
ProposalPlease re-state the problem that we are trying to solve in this issue.Implement Teacher Unite SIgn Up Process. What is the root cause of that problem?New Feature to implement What changes do you think we should make in order to solve the problem?
|
Hi, The primary aim is to: Create a chat room where other flows are completed and we just need to add signup flow. So the flow's understanding goes as mentioned below.
And in second case, if the user clicks on the 'I am a teacher' button, the system should or will first check whether the email is public. For that, we loop through defined domain and check if it is public or not. If it is, then the user will need to update their email and if it is public then it will open a form with principle first name, last name and email and we put validation on this form as well, post which we will click on 'let's start' which will create policy expense chat and redirect user to that chat and call addSchoolPrinciple API to add data. This whole process would consume around 4 working days and will cost you $550.00/- flat for a flawless output from my end. With that I would await a positive response from your end in the matter. Thanks & Regards, Contributor details |
📣 @James-Xitij! 📣
|
Will be reviewing this in sometime. |
Hi guys, thanks for the proposals, and sorry for not being clear in the description, but can you outline roughly what new components you will create for the general plan described in the OP? Also, if you're going to reuse existing components and describre roughly what will each component do? I will update the OP to reflect that |
updated the proposal to add existing component re-use @marcochavezf @parasharrajat |
It looks like we're good to issue payment here? I'll switch this to daily as it was kept as weekly. |
Payment Summary: @dhairyasenjaliya I'll send you an offer in UW. |
@dhairyasenjaliya offer sent! |
Hey, I had a request for this to be re-evaluated for compensation because it was quite time-consuming and involved a lot of changes also I believe a penalty should not be applied here since this was a new feature request we were just waiting for API. Let me know your thoughts @flaviadefaria @parasharrajat @marcochavezf @youssef-lr |
@marcochavezf @youssef-lr what are your thoughts here? |
Triggered auto assignment to @puneetlath ( |
@puneetlath I'm going OoO for a week so assigning this to you so that you can move it forward in the meantime. The only thing that is left is issuing payment. I sent a contract following this but @dhairyasenjaliya requested above that the penalty not be applied. I'm waiting on @marcochavezf and @youssef-lr to chime in. Once they do you can issue payment. Thanks! |
Yeah I agree with @dhairyasenjaliya, this is a new feature for TU (wave7), and more changes were requested to fix edge cases discovered during the testing. So I think the penalty shouldn't be applied here. cc @flaviadefaria @puneetlath |
Ok, so does this payment summary seem accurate then?
|
Ok @dhairyasenjaliya has been paid. @parasharrajat please go ahead and request payment on NewDot. |
Thnx for reminding 😅 and also can you close duplicate contract @puneetlath |
I'm only seeing this contract: https://www.upwork.com/nx/wm/workroom/34233569/details. Mind linking the dupe? |
actually, I have not accepted that new contract so just rejected it from my side all good now @puneetlath |
Ok great, just waiting for confirmation from @parasharrajat that he's opened a NewDot request and then I'll close this out. |
Not yet. Free free to close it. I can track it. |
Cool, thanks everyone! |
Payment requested as per #22857 (comment) |
$2,000 payment approved for @parasharrajat based on this summary. |
Strategic Context
People around the world incur out-of-pocket expenses to fight injustice that they care about in their local community. Expensify.org calls them “volunteers”. A great example of this are school teachers who pay for books, prizes, classroom decor, etc. out of their own money to plug gaps left by state underfunding. Expensify’s native community provides a unique and powerful opportunity to fight social injustice around the world by directly connecting our charity (Expensify.org) and Expensify members (the public) with these volunteers to split their expense costs. It is through these ‘campaigns’ that Expensify.org slowly evolves the traditional donation model into efficient, emotionally engaging and fraud-free giving.
Solution
We're launching a new initiative called "Teachers Unite" for educators who personally finance essential classroom supplies, inviting them to share these costs with Expensify.org through NewDot. Thus, the goal for this GH is to implement part of the sign-up procedures for this campaign.
Details
A new menu item in the FAB will be called "Save the world". When the user selects this option, we’ll show the new “Teachers Unite” view with a “select option” to choose either the Volunteer referral flow (“I know a teacher”) or the Volunteer sign-up flow (“I am a teacher”).
Volunteer referral flow:
This flow will consist of only one form view (“I know a teacher”). According to the Offline UX diagram, this will be pattern A (optimistic without feedback), because the server response can be anticipated and the referrer doesn’t need to know if the action is successful.
Selecting ‘I know a teacher’ opens up a new page requesting:
This page is a form on all platforms and it displays as the right hand pane modal on desktop
After the referrer clicks on the submit button, we redirect them to the public room. We’ll save the reportID as a constant in the application to redirect the user to the public room (reportID value TBD but meanwhile we can use the reportID for the ECX #anounce room
3504895439653267
).Additionally, the referrer clicks on the submit button, we’ll send that data along with the accountID of the referrer (inviterID) to the new API command called
ReferTeachersUniteVolunteer
.For form error messages, will surface the following:
Volunteer Sign-Up flow
Selecting ‘I am a teacher’ opens up a new page (form) on all applications:
To allow the teacher to sign-in up, we'd need to verify their school email is validated. So when the user selects “I’m a teacher”, we'll check if the domain of the user’s primary login is not public (we’ll re-use this logic on the client-side). If this is the case, we will display the page “Update your email address”. The “Contact methods” link and the “Update email address” button will redirect the user to the "Contact methods" page.
If the teacher already has their school email as their primary email, we’ll show the form view “Intro to your school principal”. Since we’ll be creating a new policyExpenseChat (workspace chat) for the teacher after the user completes the form, we’ll use pattern B (optimistic with feedback). It will be helpful for the user to know if the workspace chat was created if they took this action while offline.
AddSchoolPrincipal
(TBD) API command.We can check if an email has a public domain by checking if the email is contained in some of the following values:
For this new feature, a detailed proposed solution isn't necessary. We simply require a rough outline of your implementation strategy by describing what new components you will build, if you will re-use some existing components, and roughly what those components will do.
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: