# ra-expressjs-mongodb-scaffold

> this is used as a middleware in a mongodb expressjs app to provide the required routes for react-admin

Latest version **1.0.0** (published 2021-02-19) · ISC license · 0 weekly downloads

## Install

```sh
npm install ra-expressjs-mongodb-scaffold
pnpm add ra-expressjs-mongodb-scaffold
yarn add ra-expressjs-mongodb-scaffold
bun add ra-expressjs-mongodb-scaffold
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2021-02-19 |
| First published | 2021-02-19 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 4 |
| Unpacked size | 11.8 KB |
| Known vulnerabilities | 0 (+3 in 1 direct dependencies) |
| Install scripts | no |
| Author | John Kerama |
| Maintainers | johnnestanode00262 |
| Keywords | ra, react-admin, mongodb, mongoose, express |

## Links

- npm: https://www.npmjs.com/package/ra-expressjs-mongodb-scaffold
- Repository: https://github.com/BEN00262/expressjs-mongodb-react-admin-server-scaffold
- Homepage: https://github.com/BEN00262/expressjs-mongodb-react-admin-server-scaffold#readme
- Issues: https://github.com/BEN00262/expressjs-mongodb-react-admin-server-scaffold/issues
- npm.io page: https://npm.io/package/ra-expressjs-mongodb-scaffold

## Dependencies (4)

- [cors](https://npm.io/package/cors.md) ^2.8.5
- [express](https://npm.io/package/express.md) ^4.17.1
- [mongodb](https://npm.io/package/mongodb.md) ^3.6.3
- [mongoose](https://npm.io/package/mongoose.md) ^5.11.15

## Alternatives

- [angular-pipes](https://npm.io/package/angular-pipes.md) — 5.6K weekly downloads
- [@ng-web-apis/midi](https://npm.io/package/@ng-web-apis/midi.md) — 2.6K weekly downloads
- [happn-3](https://npm.io/package/happn-3.md) — 1.6K weekly downloads
- [@opensip-cli/lang-go](https://npm.io/package/@opensip-cli/lang-go.md) — 1.2K weekly downloads
- [mongoose-typescript](https://npm.io/package/mongoose-typescript.md) — 85 weekly downloads

## Recent versions

- 1.0.0 (latest) — 2021-02-19

## README

### a simple admin plugin for nodejs expressjs and mongodb to work with react-admin

### works with json server provider from ra-data-json-server
### NOTE: getManyReference is not yet properly implemented 
### NOTE: will be implementing proper handling of reference objects in mongoose later

```javascript
const mongoose = require("mongoose");
const express = require("express");
const cors = require('cors');

// import your models
const { model1,model2 } = require("< PATH TO YOUR MODELS >");

require("dotenv").config();

const { createAdminCRUD } = require("ra-expressjs-mongodb-scaffold"); // import the library
const PORT = /* SET PORT */

mongoose.connect(process.env.MONGO_URI,{
    useFindAndModify: false,
    useNewUrlParser: true,
    useUnifiedTopology: true
})
    .then(async _ => {
        const app = express();

        app.use(cors());
        app.use(express.json());
        app.use(express.urlencoded({extended:false}));
        
        app.use("< ADMIN URL ENDPOINT e.g. '/admin' >",createAdminCRUD()); // plug it in just like any other middleware

        app.listen(PORT,() => {
            console.log(`Server started at port: ${PORT}`)
        })

    })
    .catch(console.error);
```

```javascript
// react admin configuration
// App.js
import React from 'react';
import { Admin,Resource, ListGuesser,EditGuesser } from 'react-admin';
import jsonServerProvider from 'ra-data-json-server';

const dataProvider = jsonServerProvider('< URL POINTING TO YOUR ADMIN ENDPOINT >');

const App = () => {
  return (
    <Admin dashboard={Dashboard} dataProvider={dataProvider}>
        {/* sample usage with a user resource in the admin */}
      <Resource name="user" list={ListGuesser} edit={EditGuesser}/> 
    </Admin>
  );
}

export default App;
```

### issues

getManyReference of the ra-data-json-server is not yet implemented properly
the library does not handle references well in mongoose still

---
_Source: https://npm.io/package/ra-expressjs-mongodb-scaffold · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
