Skip to content

Conversation

@angethuy
Copy link

Assignment Submission: Slack CLI

Congratulations! You're submitting your assignment. Please reflect on the assignment with these questions.

Reflection

Question Answer
How did you go about exploring the Slack API? Did you learn anything that would be useful for your next project involving an API? I read through the documentation for details on the specific GET/POST methods I needed to use. I was curious about the API change — why were the old methods deprecated in favor of "Conversations"? This led to research about Slack's definition of a Conversation / Channel / User / etc.
Give a short summary of the request/response cycle. Where does your program fit into that scheme? The client makes a request in the form of a GET/POST command. The server responds to that request with various status flags. My CLI program sends requests and processes the responses to each request.
How does your program check for and handle errors when using the Slack API? My program checks to see if the "ok" key has a value of "true" to check if the Slack API was able to successfully process the request.
How did the design and organization of your project change over time? I tried to follow the Recipient model but I couldn't wrap my head around the idea that Channels and Users are both Recipients except Channels can contain multiple Users. It helped me to follow Slack's Conversation structure and separate the Users away from the Conversations.
Did you use any of the inheritance idioms we've talked about in class? How? I modeled my classes following Slack's Conversation design. As a result, Conversation is a parent class to Channels and Direct Messages.
How does VCR aid in testing a program that uses an API? VCR records the endpoint responses for an API request so that instead of making calls to the API during our tests, we make calls to the VCR's recording which allows for faster responses and lesser likelihood of triggering API rate limits.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant