Skip to content
This repository was archived by the owner on Mar 13, 2025. It is now read-only.

[$60] Integrate Job Candidate Time Selection Page #523

Closed
maxceem opened this issue Oct 22, 2021 · 23 comments
Closed

[$60] Integrate Job Candidate Time Selection Page #523

maxceem opened this issue Oct 22, 2021 · 23 comments

Comments

@maxceem
Copy link
Contributor

maxceem commented Oct 22, 2021

Branch: feature/interview-update

Background

See this challenge "CHALLENGE CONTEXT", to get idea about interview workflow.

When Customer starting scheduling meeting with Job Candidate, Job Candidates gets email with link to the page where Job Candidate may select availability time, such link has the next format https://platform.topcoder-dev.com/taas/interview/:interviewId where interviewId is the id of interview. We have to implement this page in TaaS App.

Task

On this page we have to show Nylas page embedded with prefilled user Full Name and email:

image
image

We already have POC implemented in another branch feature/interview-nylas. So basically we have to move the code related to this page to branch feature/interview-update and make several improvements.

Setup POC:
  • Run TaaS APP branch feature/interview-nylas locally.
  • Run TaaS API branch feature/interview-update locally.
  • Create interview using Postman in local API.
  • Open page http://localhost:3000/taas/interview?interviewId={interviewId} use interviewId created by Postman and you would see page like on the screen above
TODO:
  • Move page SchedulingPage from POC to TaaS App
  • Instead of passing interviewId and roundId by query, this page should use the new URL https://platform.topcoder-dev.com/taas/interview/:interviewId - inteviewId is a part of URL not a query param. No need roundId
  • Instead of getting user handle and email from getAuthUserProfile get it from Redux store auth.profile.
  • Instead of user handle use full name: First Name + Last Name
  • Only show Nylas Page if interview.status is Scheduled or Rescheduled. Otherwise show error No interview scheduled.. (The current logic if (res.data.nylasPageSlug) { is incorrect.)
  • Method getSchedulingPage suppose to be named something likegetInterview
  • Put everything into constants and follow other code best practices. Make the code good.
@maxceem maxceem added this to the Interview Update (Nylas) milestone Oct 22, 2021
@maxceem maxceem changed the title Integrate Job Candidate Time Selection Page [$60] Integrate Job Candidate Time Selection Page Oct 22, 2021
@maxceem
Copy link
Contributor Author

maxceem commented Oct 22, 2021

hey @yoution one more task if you like.

@yoution
Copy link
Contributor

yoution commented Oct 22, 2021

@maxceem please assign to me

@yoution
Copy link
Contributor

yoution commented Oct 23, 2021

@maxceem can you send me the poc project to my email? I want to know the whole process, I may need more 24 hours to finish it

@maxceem
Copy link
Contributor Author

maxceem commented Oct 23, 2021

@yoution basically POC is already integrated into TaaS APP, but inside another branch feature/interview-nylas.

I think the quickest way is to follow this guide:

image

I can send you the whole POC, but I think you may try to do faster if just follow this guide. If you have any difficulties with this guide, please, let me know. I'll try to help you.

Meanwhile I would still send you POC code by email, but I believe you don't need it.

@yoution
Copy link
Contributor

yoution commented Oct 23, 2021

I want to know how to setup webhook, I think the steps are in the POC code project

@maxceem
Copy link
Contributor Author

maxceem commented Oct 23, 2021

Sure, I'll send it to you, though for this particular task there is no need to setup webhook.

@maxceem
Copy link
Contributor Author

maxceem commented Oct 23, 2021

Actually, just realised that now we have everything in TaaS API, after you run Run TaaS API branch feature/interview-update locally make the next steps to setup webhook:

  • install https://ngrok.com/

  • if you run TaaS API on port 3000 then run ngrok http 3000

  • open Nylas dashboard and set webhook address:

    • image

    • set URL as {ngkrok-url}/api/v5/taas/nylas-webhooks

      image

    • select event triggers

      image

@maxceem
Copy link
Contributor Author

maxceem commented Oct 23, 2021

Let me know if this helps, or you have any issues with setup.

@yoution
Copy link
Contributor

yoution commented Oct 23, 2021

thanks, how can I get these two fields?
image

@maxceem
Copy link
Contributor Author

maxceem commented Oct 23, 2021

  1. Register account at Nylas.com
  2. Create App inside Nylas https://monosnap.com/file/tfGUasjpvS0eWj4vfaE8PjaNiPzfwM
  3. Select created app, and click App Settings, it would be there https://monosnap.com/file/OM8Ux7mkbH7M4MSjIvD3f6de63Ib38

@yoution
Copy link
Contributor

yoution commented Oct 23, 2021

@maxceem create webhook error?, do you know why
image

@maxceem
Copy link
Contributor Author

maxceem commented Oct 23, 2021

Hmm, to make sure all is good try hitting this URL from browser and check that you can see in TaaS API console some log:

image

Does it work for you?

Also, please make sure that you have the latest commit from feature/interview-update branch.

@yoution
Copy link
Contributor

yoution commented Oct 23, 2021

ignore, I add the breakpoint, so the api is paused

@yoution
Copy link
Contributor

yoution commented Oct 23, 2021

@maxceem
image

if we get profile from redux, it will not have theemail field

@maxceem
Copy link
Contributor Author

maxceem commented Oct 23, 2021

I looks like email is there in Redux. You don't have it for some user?

image

@yoution
Copy link
Contributor

yoution commented Oct 23, 2021

@maxceem
image

@maxceem
Copy link
Contributor Author

maxceem commented Oct 23, 2021

Don't you have profile field? not v5userProfile?

@maxceem
Copy link
Contributor Author

maxceem commented Oct 23, 2021

@yoution ah, got my screenshot from another app. Please, keep using getAuthUserProfile method, don't have to use Redux.

yoution added a commit to yoution/taas-app that referenced this issue Oct 23, 2021
yoution added a commit to yoution/taas-app that referenced this issue Oct 23, 2021
maxceem added a commit that referenced this issue Oct 24, 2021
@maxceem
Copy link
Contributor Author

maxceem commented Oct 24, 2021

@sandhiyakavi
Copy link
Collaborator

Verified in Dev Env

image

@sdgun
Copy link

sdgun commented Oct 29, 2021

Noticed this minor change in the design and implementation:

In this embedded page we see the title Job interview for:...... but in the design it says Interview for job ...

Implementation
image

Design
image

@maxceem
Copy link
Contributor Author

maxceem commented Oct 29, 2021

We didn't get official requirement from Topcoder for this text, so I've replaced the text with "Job Interview for" just because it sounds better to me. I guess we would have to ask for good wording for many texts in the new interview workflow.

@sdgun
Copy link

sdgun commented Apr 5, 2022

Verified in production.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants