Table of contents
Overview:
I was a part of the API Fellowship with Keploy in the cohort: from 20th January to 6th February 2023. During this period I learnt what are APIs, the theoretical aspects of APIs, API integration, API testing, API creations and also a lot about Keploy. Overall it was an enriching journey with some amazing learning sessions and assignments. This fellowship helped me gain an overall idea about APIs.
What is Keploy?
Keploy is an e2e testing toolkit for developers that generates test cases and data mocks.
It converts API calls into test cases. Mocks/stubs are automatically generated with the actual requests/responses.
My Fellowship Journey
Session 1: HTTP, HTTPS & APIs
In this orientation session, I got to know about the goals, structure and overall objectives of the program.
I learned about the basics of HTTP, HTTPS & APIs:
Hyper Text Transfer Protocol (HTTP) is the set of rules that govern how two devices should communicate with each other over the internet.
HTTPS is HTTP with encryption and verification. The only difference between the two protocols is that HTTPS encrypts normal HTTP requests and responses and digitally signs them.
API stands for Application Programming Interface. In the context of APIs, the word Application refers to any software with a distinct function. The interface can be thought of as a contract of service between two applications. This contract defines how the two communicate with each other using requests and responses. Their API documentation contains information on how developers are to structure those requests and responses.
You can read about it in detail in my Blog 📃
Session 2: A deep dive into the theoretical aspect of APIs
In this session, I learnt in detail about what are APIs and what they consist of.
I learnt about API endpoints and how to call them to access the functionality of the API.
I learnt about API methods (also known as HTTP methods) are used to perform various actions on an API endpoint. Some of them are GET, POST, PUT and DELETE.
I also learnt about API header, body and parameters.
I also learnt about various HTTP status codes which are three-digit numbers that are returned by a server to indicate the status of a client's request.
You can read about it in detail on my Blog 📄
Session 3: Web Development & API Integration
In this session, I learned about public APIs and their various components. I was introduced to endpoints and how they allow me to interact with an API to retrieve or manipulate data.
I learned how to test an API using Postman. Postman is an API platform for building and using APIs. Postman simplifies each step of the API lifecycle and streamlines collaboration so you can create better APIs—faster. I learnt how to make requests and view responses using it.
I used my learning to make Space-Explorers which is a web application that fetches and displays data about every astronaut who is currently in space. I used Open Notify API and Wikimedia REST API to build it. 👩🏻💻
Session 4: API Creation and Integration
In this session, I learned about how to create a local API endpoint using Node.js and Express and then tested my local API using Postman to ensure that it was functioning properly. I also gained an understanding of routes and how they can be used to organize and structure an API.
I used my learnings to build a Student-list web application.
Session 5: API Testing & Unit Testing
In this session, I learned about the importance of connecting a database to an API. I understood how databases can be used to store data that can then be retrieved and manipulated using an API. I leant how to test the API functionality using Postman. I gained a complete understanding of building APIs, testing them and then integrating them into our applications. It was a wonderful session overall with a lot of practical learning on APIs.
Session 6: API Testing With Keploy
This session was all about Keploy and how it can be a very useful tool to test APIs. I learnt how to integrate Keploy with our applications in both Linux and Windows. We also learnt about the working of Keploy and how it is added to API in SDK format.
The live database is connected to the front end using an API. But testing gets difficult as the database is continuously changing.
With a part of the live database, we can make a static database and we can do all the testing with the static database. It works like a mock database. We can now do all the tests with it without any 3rd party variables. But it is a static database, hence we can test only using the GET command.
Keploy records every API call to make a mock database. Since it records all the calls, hence we can try all operations on the mock database like GET, PUT, DELETE and POST.
Conclusion
I got to know about this opportunity from LinkedIn. It has been a wonderful journey of learning about APIs so far. I am thankful to all my mentors for sharing their knowledge and insights with us during this program. 🤩