# Introduction

Endpoints is a framework for building APIs in NodeJS. 

- Node exposed server-side development to a large population unprepared for the task
- The original value proposition of Node did not lend itself to classical application
- Tooling around building 
- Large opinionated frameworks like Rails have been experiencing backlash

- convention based for fast dev, teams with churn, and beginners, but open to config for adv users
- small and modular so you can pick and choose what parts you'd like or build your own

### Node

Node is exciting because it allowed javascript to be written on the
 server. But what specifically does javascript offer that makes it
 particularly good or even just suitable for server-side development?

node is for sockets based 

Large swaths of people, armed with only a browser, became developers
 by writing javascript as the interaction layer on web sites. And now
 with the appearance of Node, they could use the very same syntax they
 wrote tabs and carousels in, to build server-side applications and 
APIs. The most harsh interpretation could describe the node stack as
 handing a lot of classic frontend developers with no background in 
server-side development a large footgun. Frontend engineers aren't
 prepared (nor should we expect them to be) to build server-side
 applications, let alone APIs.

This led   

### Database Woes

Very quickly, node users were drawn to document store, or NoSQL databases such as Mongo, which stores JSON, and therefore requires no data conversion. 

The quality of tooling around building node applications on top of a relational database has been prohibitively poor. There is a question of ethics regarding shipping a large enterprise application in the Node stack.

### Enter endpoints.

The goal of endpoints is to make building an API in nodeJS on top of a relational database more stable and enjoyable.

Both inspired by and in critical response to projects like Rails

#### Convention-based



#### Small and modular

