Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/maximemoreillon/prisma-auto-crud

An express middleware that generates routes and CRUD controllers for every table defined in a prisma schema.
https://github.com/maximemoreillon/prisma-auto-crud

express expressjs nodejs prisma

Last synced: about 2 months ago
JSON representation

An express middleware that generates routes and CRUD controllers for every table defined in a prisma schema.

Awesome Lists containing this project

README

        

# Auto CRUD

[![coverage report](https://gitlab.com/moreillon_ci/moreillon_npm/prisma-auto-crud/badges/master/coverage.svg)](https://gitlab.com/moreillon_ci/moreillon_npm/prisma-auto-crud/-/commits/master)

At its core, Auto CRUD is an express middleware that generates routes and CRUD controllers for every table defined in a Prisma schema.
As such, it can be integrated in an existing Express app to kickstart a project involving CRUD.
On the other hand, if the functionalities of Auto CRUD can be used as is, it is also provided as a Docker container.

## Usage as a module

### Install

This module can be installed using NPM:

```
npm install @moreillon/prisma-auto-crud
```

### Usage

This module is intended to be used as an Express middleware.

```typescript
import express from "express"
import { PrismaClient } from "@prisma/client"
import autoCrud from "@moreillon/prisma-auto-crud"

const prismaClient = new PrismaClient()

const { PORT = 7070 } = process.env

const app = express()
app.use(express.json())

app.use(autoCrud(prismaClient))

app.listen(PORT, () => {
console.log(`[Express] Listening on port ${PORT}`)
})
```

## Usage as a Docker container

If Auto CRUD does not need any additional customization, it can be deployed as a Docker container.

```bash
docker run \
-e DATABASE_URL="postgresql://user:pass@localhost:5432/db?schema=public" \
-p 8080:80 \
moreillon/auto-crud
```