Skip to content
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

API Endpoints for CivicTechJobs #2

Open
3 tasks
Aveline-art opened this issue Dec 1, 2021 · 2 comments
Open
3 tasks

API Endpoints for CivicTechJobs #2

Aveline-art opened this issue Dec 1, 2021 · 2 comments
Labels
complexity: x-large dependency Issue has dependencies p-feature: API private endpoint p-feature: API public endpoint role: back end s: CTJ stakeholder: Civic Tech Jobs size: 2pt Can be done in 7-12 hours size: 3pt Can be done in 13-18 hours

Comments

@Aveline-art
Copy link
Member

Aveline-art commented Dec 1, 2021

Dependency

Overview

As a developer of CivicTechJobs, I want to know we will retrieve data from this project for our project. For this issue, our team would like to start a discussion on the APIs we would like for this team to develop.

Action Items

  • Review the APIs we need as outlined from the link in the resources/instructions below
  • Discuss with the both our team and your team on whether these can be delivered as well as any concerns of questions
    • Please put questions in this issue and @ us so that we may respond. If need be, feel free to contact us at our project's slack, and/or arrange a meeting

Additional Questions

  1. If a field is empty or not available, what data type should we expect after we JSON.parse the payload? Or, in other words, what data will the server project if a field is empty?

Resources/Instructions

API calls

@Aveline-art
Copy link
Member Author

Aveline-art commented Dec 15, 2021

Link to the data tables provided by the peoplesDepot project: https://lucid.app/publicSegments/view/7531ed46-77d2-4b91-a09c-b18f9f210980/image.png

API calls

GET Requests

Project data

Input: project id
Output: project name, project description, logo, hero image, icon, readmeurl, hflaWebsiteurl

Questions

  1. When someone wants to know more information about a project, where should a link lead them to? Slack, GitHub Repo, GH read me, or the website?
  2. If we want to display communities of practice information, how will we be able to tell the difference between a CoP and a project to display only CoPs on our landing page? Would we need to save specific ids into our backened?
  3. What is the hide field for?

Auth data

Input: username, password
Output: auth token, user id

User data

Input: user id
Output: user status id, user status name, desired roles, current skills, target skills, availability, time zone

Questions

  1. When a seeker notices a posting that they want to respond to, where do they go next? What information does the poster need to know about the seeker?

Role data

Input: role id
Output: name, description, responsibilities, qualifications

Input: nothing
Output: an array of roles

Questions

  1. Roles needs to be associated with a community of practice because we need to display which community a role belongs to for future versions of our landing page.

Reoccurring events/meetingtimes

Input: project id
Output: list of reoccurring events for that project in an array where each index is an object with the following: name, day of week, start time, duration, must/should/could roles


PUT/UPDATE Requests

User

Input: desired roles, availability
Output: auth token, user id


POST Requests

User

Input: username, password

@Aveline-art
Copy link
Member Author

Aveline-art commented Dec 30, 2021

Question:

  1. Do we still need to gather information on the user's experience level? If so, the database schema of the peoplesDepot does not collect that information.

  2. If we gave an incorrect input, for example, say the username and password was incorrect, what should we expect to receive? How will we be able to tell that the request returned some sort of error?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
complexity: x-large dependency Issue has dependencies p-feature: API private endpoint p-feature: API public endpoint role: back end s: CTJ stakeholder: Civic Tech Jobs size: 2pt Can be done in 7-12 hours size: 3pt Can be done in 13-18 hours
Projects
Status: 🧊Ice Box
Development

No branches or pull requests

2 participants