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

Enhance: Update + Section on Perf Testing #46

Closed
7 tasks done
nelsonic opened this issue Dec 22, 2022 · 5 comments · Fixed by #47
Closed
7 tasks done

Enhance: Update + Section on Perf Testing #46

nelsonic opened this issue Dec 22, 2022 · 5 comments · Fixed by #47
Assignees
Labels
discuss Share your constructive thoughts on how to make progress with this issue documentation Improvements or additions to documentation enhancement New feature or enhancement of existing functionality help wanted If you can help make progress with this issue, please comment! priority-1 Highest priority issue. This is costing us money every minute that passes. research Research required; be specific T1d Time Estimate 1 Day technical A technical issue that requires understanding of the code, infrastructure or dependencies

Comments

@nelsonic
Copy link
Member

nelsonic commented Dec 22, 2022

@LuchoTurtle please read through this learning doc and comprehensively update it. 🙏
My understanding is that you have limited experience with public APIs. 💭
Please list the APIs you have used in a comment before you start work on this. 📝
Our objective is to capture as much knowledge as we can so that we can build the best possible API for our
SaaS Product so we need to do first-principals research/analysis of the best existing examples we can learn from. 👌

Todo:

  • Read the README.md with a beginner's mind i.e. as if you were new to all this. 👀

  • Go through all the links in the README.md and determine their relevance. 🔗

    • If any links are no longer relevant, please drop a comment in this thread and remove the link. ✂️
  • Find links to the best Public REST + Realtime APIs. Some Googling/Research required. 🔍

    • Show example request/responses where applicable. 🧑‍💻
  • Add new section on performance and reliability testing for APIs.
    e.g: imagine we are building an API for our SaaS Product and want to run a series of performance tests each time a commit is made and pushed on a PR. i.e. on GitHub Actions. What is required for that?

    • Second, how do we monitor the "health" of an API so we know immediately when it has degraded performance?

This is at least a day worth of reading, research and write-up. ⏳
We need to make this investment up-front so that we can make the best possible API we can. 🙏

@nelsonic nelsonic added enhancement New feature or enhancement of existing functionality discuss Share your constructive thoughts on how to make progress with this issue labels Dec 22, 2022
@LuchoTurtle LuchoTurtle self-assigned this Dec 22, 2022
@nelsonic nelsonic added T1d Time Estimate 1 Day technical A technical issue that requires understanding of the code, infrastructure or dependencies priority-1 Highest priority issue. This is costing us money every minute that passes. labels Dec 22, 2022
@LuchoTurtle
Copy link
Member

The only public APIs that I've worked with were related to Microsoft's Graph for logging in users inside Azure tenants, and Google Cloud Console's for some personal projects, etc...

I'll take a look at this once learn-payment-processing is complete.

@nelsonic nelsonic added help wanted If you can help make progress with this issue, please comment! research Research required; be specific documentation Improvements or additions to documentation labels Dec 22, 2022
@nelsonic
Copy link
Member Author

nelsonic commented Dec 22, 2022

Cool. So you're not a complete n00b (didn't think you were)
MSFT & GOOG APIs are decent but both of those don't have the best docs/examples.
The best I've found was Twilio or Stripe which you are exploring now as part of /dwyl/learn-payment-processing ...
but there must be better examples and we need to uncover them. 🙏

Note: we will be using both of these APIs in due course so good to read through them.
This will be a good exercise for you to do some research & analysis. 👌

A good place to crowd-source "Good API Design" is HackerNews, e.g:
https://hn.algolia.com/?dateRange=all&page=0&prefix=true&query=api%20design&sort=byPopularity&type=story
Top link is: https://news.ycombinator.com/item?id=13706618
which discusses: https://cloud.google.com/apis/design
This might be a good guide. 💭

@LuchoTurtle LuchoTurtle moved this to 🏗 In progress in dwyl app kanban Dec 28, 2022
@LuchoTurtle
Copy link
Member

I'm still in the process of writing this but I'm restructuring the document, as I felt it lacked some organization and structure.
I want to have a whole "part" dedicated to proper API implementation practice, so I'm splitting the document effectively in two.

I've deleted/updated and added a few links. I'm going to specify which links were deleted and the reason why:

Deleted because it was redundant with another link pertaining to an Intro on RESTful APIs.

Deprecated and moved to another channel -> https://www.youtube.com/channel/UCJS9pqu9BzkAMNTmzNMNhvg

Was already linked prior.

Although it's a funny blog post, I think it becomes redundant. It doesn't really delve into relevant technical details.

What is REST? (if you haven't already read it, read the REST Wikipedia article): http://en.wikipedia.org/wiki/Representational_state_transfer

Repeated.

Updated with another relevant link -> https://developers.cloudflare.com/workers/learning/using-websockets/

I think I captured them all.

I'm not detailing the ones I added, nor the ones that are going to be re-arranged for the specific API Design Guide & Best Practices part.

@nelsonic
Copy link
Member Author

@LuchoTurtle sounds good. 👌

@nelsonic
Copy link
Member Author

@LuchoTurtle please open a PR with your work when you can so that you don't end the week with work in progress stuck on your laptop. 🙏

LuchoTurtle added a commit that referenced this issue Dec 31, 2022
…ols. #46

The guide of design and tips for structuring an API correctly will be made on a second parter.
LuchoTurtle added a commit that referenced this issue Dec 31, 2022
Only missing the documentation and performance testing sections.
LuchoTurtle added a commit that referenced this issue Dec 31, 2022
LuchoTurtle added a commit that referenced this issue Jan 3, 2023
nelsonic added a commit that referenced this issue Jan 14, 2023
@github-project-automation github-project-automation bot moved this from 🏗 In progress to ✅ Done in dwyl app kanban Jan 15, 2023
nelsonic added a commit that referenced this issue Jan 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discuss Share your constructive thoughts on how to make progress with this issue documentation Improvements or additions to documentation enhancement New feature or enhancement of existing functionality help wanted If you can help make progress with this issue, please comment! priority-1 Highest priority issue. This is costing us money every minute that passes. research Research required; be specific T1d Time Estimate 1 Day technical A technical issue that requires understanding of the code, infrastructure or dependencies
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants