Skip to content
This repository was archived by the owner on Dec 3, 2019. It is now read-only.
This repository was archived by the owner on Dec 3, 2019. It is now read-only.

Endpoint to populate airtable with data from the FE 'Team Treehouse Licenses' form #288

Open

Description

@hpjaj

Feature

Why is this feature being added?

The FE will be creating a form around Team Treehouse Licenses. This form will only be accessible to ID.me verified users. This data needs to ultimately be populated in Airtable in a new airtable.

Associated Issue

OperationCode/operationcode_frontend#890

What should your feature do?

We already have endpoints for:

This ticket would need to:

For the creating a scholarship application endpoint:

  • add validation to ensure that the passed current_user is verified
  • validate that the following information is present for the current_user:
    • user.slack_name
    • user.first_name
    • user.last_name
    • user.email
  • test coverage
  • updates our API docs
  • collaboration with the FE team on the endpoint's schema (i.e. what they are sending to the BE)

Activity

  1. hpjaj commented on Mar 31, 2018

    @hpjaj
    CollaboratorAuthor

    @kylemh !

    Can you please describe:

    1. Precisely what data this FE form will be passing to the BE?
    2. If that data will/will not be a 1:1 mapping to columns in an Airtable airtable?
    3. Anything else that I am missing in the description re: acceptance criteria for the FE?
    4. Are we using Airtable for this, so that certain people will have line of sight into the data? If yes, this would be another great use case for that forms & tables discussion we were having in Slack.

    cc: @AshTemp

  2. kylemh commented on Apr 1, 2018

    @kylemh
    Member

    Instead of making this just about Tree House licenses, perhaps it could be our scholarship application page? I envision a drop-down representing all the available scholarships/resources one can sign up with.

    Regardless, our prior discussion was relating to administrative tools, so this would be slightly different. Luckily, whatever we do here can be used there.

    I presume the following data will get sent to the back-end from such a form:

    Slackname (String)
    Actual name (String)
    Email (String)

  3. AshTemp commented on Apr 1, 2018

    @AshTemp
  4. hpjaj commented on Apr 1, 2018

    @hpjaj
    CollaboratorAuthor

    @kylemh - You're right, I did use the admin dashboard as the example, but actually I was more broadly thinking exactly this. Forms & tables, with varied access. Be that "admin" access, or "verified user" access, or "board member" access...whatever we choose. We can create any roles we choose.

    But for this example let's say it is for ID.me verified users.

    • These verified users can access this form on the frontend
    • When they submit the form, the changes are saved to our db (not Airtable)
    • The FE has a table that displays the data from the db, that only user's with xyz permissions can see. And we can set that level of access to whatever we choose.

    I think we should go this route for all the benefits I mentioned in my thoughts around forms & tables for software devs.

    I also think that since we have this as an option, I would prefer spending our time and resources on investing in and building out our application, versus deepening our dependency on a third party service such as Airtable.

    You down?

  5. AshTemp commented on Apr 1, 2018

    @AshTemp
  6. hpjaj commented on Apr 1, 2018

    @hpjaj
    CollaboratorAuthor

    Right, this is not for mentors or the mentor process. This is for Team Treehouse (or scholarship applications).

  7. AshTemp commented on Apr 1, 2018

    @AshTemp
  8. hpjaj commented on Apr 1, 2018

    @hpjaj
    CollaboratorAuthor

    Airtable is one option. What I am describing accomplishes the same end goal, with many additional benefits for our contributors and for the OC.

  9. AshTemp commented on Apr 1, 2018

    @AshTemp
  10. hpjaj commented on Apr 1, 2018

    @hpjaj
    CollaboratorAuthor

    Agreed! @nellshamrell was part of my original discussion on the topic.

    I just implemented the concept of "roles" in PR #290. This, in conjunction with Pundit, provides varied access to forms, links, tables, etc.

    But for sure, @nellshamrell can you pls share your thoughts?

  11. nellshamrell commented on May 12, 2018

    @nellshamrell
    Collaborator

    Reading through the backscroll now :)

  12. nellshamrell commented on May 12, 2018

    @nellshamrell
    Collaborator

    Here are my thoughts:

    I think everyone (including me) is in agreement that the mentorship process should stay in Airtable.

    What I'm hearing here, though, is that we'd like to use our own database to track scholarship information (starting with Tree House). I believe this would not alter any current behavior - this is entirely new behavior. Is this correct? Or do we currently track scholarship information in Airtable (I know we did at one point, I don't know if we do now)?

    If we do not, then I think we should go forward with the plan to have it in our own database. The reason is I think this will provide more learning opportunities for new developers to our open source projects - creating forms and views that create, display, and manipulate data is a great beginning coding project.

  13. AshTemp commented on May 12, 2018

    @AshTemp
  14. dmarchante commented on Aug 21, 2018

    @dmarchante
    Contributor

    @AshTemp @nellshamrell can we revisit the direction we want this to go? Are we still looking to move away from AirTable, and track this ourselves?

  15. dmarchante commented on Aug 21, 2018

    @dmarchante
    Contributor

    @AshTemp @nellshamrell @hollomancer @JennWeideman
    We need to have a discussion around this as I think we need a db for a variety of reason not just scholarships, and we will have to update the original issue as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions