Never Play Matchmaker

    @xureilab/restgoose
    TypeScript icon, indicating that this package has built-in type declarations

    1.1.8 • Public • Published

    Restgoose

    Modern REST API framework. https://xurei.github.io/restgoose

    npm version wercker status codecov Codacy Badge

    CII Best Practices npms score reddit

    wercker status

    MongoDB + Typescript + Restgoose = ❤️

    Restgoose exposes your MongoDB database through a REST API with ease. It is driven by the model itself, which reduces the boilerplate code necessary to write simple endpoints. It is open for extension, so you can add complex logic easily too.

    Installation

    npm install @xureilab/restgoose

    Minimal usage

    This creates the typical CRUD endpoints on a model :

    import { Restgoose, RestgooseModel, all, create, one, prop, remove, rest, update } from '@xureilab/restgoose';
    
    @rest({
        route: '/todos',
        methods: [
            all(), // GET /todos
            one(), // GET /todos/:id
            create(), // POST /todos
            update(), // PATCH /todos/:id
            remove(), // DELETE /todos/:id
        ],
    })
    export class Todo extends RestgooseModel {
        @prop({required: true})
        name: string;
    }

    See the full example (with express/mongoose boilerplates) in the examples directory

    Check out the docs for details.

    The Philosophy behind Restgoose

    Restgoose takes its inspiration from Typegoose and Loopback. We also had some objectives in mind while writing Restgoose :

    • Simple, common behaviors should be really easy to write,
    • The framework should follow a RESTful design,
    • The framework should be simple to add in an existing project,
    • While promoting some best practices, the framework should let the user add complex endpoints without Restgoose if necessary
    • The framework should be small and provide as little middlewares as necessary. Plugins will be created for better cherry-picking.

    Contribute

    We are looking for collaborators to test the framework in real-world situations, and also make the development faster. Check out the roadmap to see what's going on.

    Community

    Reddit: https://www.reddit.com/r/restgoose/

    Support on Beerpay

    Beerpay Beerpay

    Install

    npm i @xureilab/restgoose

    DownloadsWeekly Downloads

    70

    Version

    1.1.8

    License

    MIT

    Unpacked Size

    146 kB

    Total Files

    63

    Last publish

    Collaborators

    • xurei