Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including simple-fake-model with all npm packages installed. Try it out:

var simpleFakeModel = require("simple-fake-model")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

simple-fake-model v1.2.0

Simple and fake model used to avoid DB in teaching

Simple Fake Model

npm version Build Status Coverage Status Code Climate Dependencies Dev Dependencies License

Simple fake model to avoid using real databases in teaching

Table of Contents


This is a simple library which avoids using real database in my JavaScript teachings.

It is just a stupid wrapper around a array which provides a easy API for listing, adding, getting and removing items.


const FakeModel = require('simple-fake-model');

const model = new FakeModel();

Implemented features:

  • model.list() which returns an array with all the items stored.
  • model.insert(object) which accepts an object and stores it with an id. Inserted item is returned.
  • model.getById(id) which accepts an id and returns the item stored with provided id.
  • model.deleteById(id) which removes the item with provided id.
  • model.updateById(id, object) which updates the item with provided id.

All the methods returns the value using an ES6 Promise.


Install using NPM

npm install --save simple-fake-model

Useful npm tasks

The module has some npm scripts which could be useful for developing purpose:

  • npm test runs the linter, all the tests and gives test coverage statistics
  • npm run test:unit runs the unit testing. Using npm run test:unit:watch will watch for changes
  • npm run test:coverage show coverage statistics
  • npm run lint lints the code

Contributing and help


I know the library is stupid as hell. It's probably a feature.

If you think something could be done better or simply sucks, bring up a issue on the tracker. Don't be shy. I really love feedback and technical discussions.


Pull requests are welcome (and will make me cry in joy) as long as they pass tests for included and old features.

Did I already say that I love technical discussions? Feel free to open a issue on the tracker if you have any doubt.

Bug reports, feature requests and discussion

Use the GitHub issue tracker to report any bugs or file feature requests. In case you found a bug and have no GitHub account, feel free to email me: at gmail dot com.


Copyright (c) 2016 Francisco Canela. Licensed under the MIT license.

Frequently Asked Questions

Can I use it in production?

Never. This project has been created for teaching and not for production.

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free