Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sean-bradley/seans-typescript-nodejs-crud-rest-api-boilerplate

A minimal and easy to follow example of what you need to create a CRUD style API in NodeJs using TypeScript
https://github.com/sean-bradley/seans-typescript-nodejs-crud-rest-api-boilerplate

Last synced: 1 day ago
JSON representation

A minimal and easy to follow example of what you need to create a CRUD style API in NodeJs using TypeScript

Awesome Lists containing this project

README

        

## Seans-TypeScript-NodeJS-CRUD-REST-API-Boilerplate

> To help support this TypeScript boilerplate, please take a moment to look at my official **Design Patterns in TypeScript** book and **TypeScript Courses**.

> [Three.js and TypeScript](https://www.udemy.com/course/threejs-tutorials/?referralCode=4C7E1DE91C3E42F69D0F)
>
> [Socket.IO and TypeScript](https://www.udemy.com/course/typescript-socketio/?referralCode=2F6E227AC7EB9D147327)
>
> Three.js and TypeScript : [ASIN B094716FD6](https://www.amazon.com/dp/B09GYTKRCH)
>
> Design Patterns in TypeScript : Paperback [ASIN B0948BCH24](https://www.amazon.com/dp/B0948BCH24), eBook : [ASIN B094716FD6](https://www.amazon.com/dp/B094716FD6)

### MIT License

Remember, No guarantees, or even fit for a particular purpose.

If you have a suggestion, or you want to contribute some code, you can make a pull request.

Your contributions will be visible since this project is public.

### Setup

```bash
npm install
```

### Development with nodemon and tsc --watch

```bash
npm run dev
```

Then visit `http://localhost:3000/cats`

### Run without nodemon and tsc --watch

```bash
npm start
```

Then visit `http://localhost:3000/cats`

## Swagger

Visit `http://localhost:3000/swagger` to view the OPENAPI document in Swagger-UI
![Swagger-UI](docs/swagger.png)

### Video tutorial on setting up Swagger in an existing NodeJS TypeScript API

[![Add Swagger-UI Documentation To Existing NodeJS TypeScript API](https://img.youtube.com/vi/qemG0CWOx1I/0.jpg)](https://youtu.be/qemG0CWOx1I)

## Continuous Integration and Deployment

I've also added gitlab-ci.yml and dockerised with Docker-Compose. See video tutorial on how all this works.
[![CI/CD a NodeJS API with Docker-Compose and GitLab](https://img.youtube.com/vi/Qlj6NiOy5jM/0.jpg)](https://youtu.be/Qlj6NiOy5jM)

## Usage

### List all records

![Example Get all records](docs/get-example.png)

### Post (Create) Record

![Example Post (Create) new record](docs/post-example.png)

### Get by Id

![Example Get by ID](docs/get-id-example.png)

### Put (Update) Record

![Example Put (Update)](docs/put-example.png)

### Delete Record

![Example Delete](docs/delete-example.png)

# TypeScript Courses

If you got this far, you probably like TypeScript just like I do,
I have created two TypeScript courses specializing in the [Three.js](https://www.udemy.com/course/threejs-tutorials/?referralCode=4C7E1DE91C3E42F69D0F) and [Socket.IO](https://www.udemy.com/course/typescript-socketio/?referralCode=2F6E227AC7EB9D147327)
libraries that you may find useful.

## Threejs and TypeScript Course

[![TypeScript Threejs Introduction](docs/threejs-course-image.png)](https://youtu.be/BcF3yuVqfwo)

## Socket.io and TypeScript Course

[![TypeScript SocketIO Introduction](docs/tssock-course.png)](https://youtu.be/3uLSNctzkkw)

# Programming Books

To help support my projects, please check out my books.

## Three.js and TypeScript

   https://www.amazon.com/dp/B09GYTKRCH

   https://www.amazon.co.uk/dp/B09GYTKRCH

   https://www.amazon.in/dp/B09GYTKRCH

   https://www.amazon.de/dp/B09GYTKRCH

   https://www.amazon.fr/dp/B09GYTKRCH

   https://www.amazon.es/dp/B09GYTKRCH

   https://www.amazon.it/dp/B09GYTKRCH

   https://www.amazon.nl/dp/B09GYTKRCH

   https://www.amazon.co.jp/dp/B09GYTKRCH

   https://www.amazon.ca/dp/B09GYTKRCH

   https://www.amazon.com.br/dp/B09GYTKRCH

   https://www.amazon.com.mx/dp/B09GYTKRCH

   https://www.amazon.com.au/dp/B09GYTKRCH

(ASIN : B09GZM9KGJ / B09GYTKRCH)

**Design Patterns in TypeScript**.

   https://www.amazon.com/dp/B0948BCH24

   https://www.amazon.co.uk/dp/B0948BCH24

   https://www.amazon.in/dp/B094716FD6

   https://www.amazon.de/dp/B0948BCH24

   https://www.amazon.fr/dp/B0948BCH24

   https://www.amazon.es/dp/B0948BCH24

   https://www.amazon.it/dp/B0948BCH24

   https://www.amazon.co.jp/dp/B0948BCH24

   https://www.amazon.ca/dp/B0948BCH24

   https://www.amazon.com.au/dp/B094716FD6

(ASIN : B0948BCH24 / B094716FD6)

---

Thanks

Sean