# Build Web APIs with Aqueduct #1

A couple of months ago I wrote a [series of articles](https://dev.to/graphicbeacon/building-restful-web-apis-with-dart-aqueduct-and-postgresql-55k) based on the Aqueduct framework for Dart. We developed a RESTful API serving up a list of reading materials from a PostgreSQL database.

In this series of videos, we will develop a RESTful Web API based on Aqueduct 3 for Dart 2. The API has changed since the written article, which has introduced breaking changes.

%[https://www.youtube.com/watch?v=vvDomA-ru3E] 

## **A brief overview of Aqueduct**

Aqueduct is an open-source framework for creating and deploying RESTful Web APIs on the server. It borrows concepts from *Express*, *Hapi* and even *.NET Web API*, offering a point of entry if you’ve used any of those other frameworks.

Here are some of the features it has:

1. Fluid, chainable **routing**. *A functional style to composing your routes and its handler methods*
    
2. A **CLI** tool. *This allows you to scaffold your next project by issuing straightforward commands*
    
3. **Multi-threading** out of the box. *Spins up multiple instances of your application via Dart’s “isolates”, scaling across all CPU cores on the server.*
    
4. Has an inbuilt **ORM**. *A must-have if you work with relational databases! Also supports database migration.*
    
5. Has an **integrated testing** library. *Because you need to test all the things! Plays well with tools like TravisCI.*
    

Learn more on [their website](https://aqueduct.io/#doc-callout).

Here’s the [**full video**](http://bit.ly/aqueduct-tutorial).

## **Further reading**

* [**Aqueduct:** A Tour](http://aqueduct.io/docs/tour/)
    
* [**Free Dart screencasts on Egghead.io**](https://egghead.io/instructors/jermaine-oppong)
