Custom API Development Overview
- Language - NodeJS
- Hosting - AWS Ec2 Instance
- Data Storage - AWS RDS - mysql
An api (application program interface) is simply put a set of rules. These rules will define how your application components will communicate to each other.
The goal of all the apis I have written was to streamline data flow between components. More specifically, I have written web apis that define how a client will communicate to a server / database or both.
The decision to use a RESTful api was to decrease server load. The main reduction would be that each request is made independently and contains all of the data required for rendering on the client side. It is also easy to assign specific status codes to each request and the data can be returned in various types.
Node.js was used, using an MVC (model, view, controller) architecture for separation. The npm package manager makes it easy to install required packages / libraries. The various endpoints to the api determined where the data was sent. example: client -> server, server -> db, db -> client etc
Planning the api can be tough to do right depending on the requirements. This is excellent practice in dealing with http requests, responses and handling errors associated withe them.
From what I have seen so far and based on user tech today, using a restful api is a huge gain all around. It is used everywhere and gaining more knowledge about rest and apis is a huge win.