Skip to content

Latest commit

 

History

History

0x15-api

img

Rest APIs

no-rest-for-the-wicked-lol

About

API stands for Application Programming Interface. Simply put, an API is a set of rules that enables one application to communicate with another. APIs can be used to allow different applications to share data and functionality. For example, if you use a weather app on your phone, it may be getting its data from an API provided by a weather service.

Background context

Old-school system administrators usually only know Bash and that is what they use to build their scripts. While Bash is perfectly fine for a lot of things, it can quickly get messy and not efficient compared to other programming languages. The new generation of system administrators, usually called SREs, are pretty much regular software engineers but instead of building products, they are managing systems. And one of the big differences with their predecessors is that they know more than just Bash scripting.

One popular way to expose an application and dataset is to use an API. Often, they are the public facing part of websites and micro-services so that allow outsiders to interact with them – access and modify their data. In this project, you will access employee data via an API to organize and export them to different data structures.

This is a perfect example of a task that is not suited for Bash scripting, so let’s build Python scripts.

Resources

Read or watch:

  1. Friends don't let friends program in shell script
  2. What is an API
  3. What is an API? In English please
  4. What is a REST API
  5. What are microservices
  6. PEP8 Python style - having a clean code respecting style guide is really appreciated in the industry

Learning objectives

By the end of this project, you are expected to be able to explain to anyone Without the help of Google:

General

  • What Bash scripting should not be used for
  • What is an API
  • What is a REST API
  • What are microservices
  • What is the CSV format
  • What is the JSON format
  • Pythonic Package and module name style
  • Pythonic Class name style
  • Pythonic Variable name style
  • Pythonic Function name style
  • Pythonic Constant name style
  • Significance of CapWords or CamelCase in Python