README
SISE-DB
In memory db (super simple) used for the CWEB course on the SISE Post Graduation at INESC-ID + IST.
Installation
To install sise-db in your project folder, execute the following command (you need Node.js and npm installed)
> npm install sise-db --save
then
var SISEDB = require('sise-db')
var db = new SISEDB()
API
sise-db
provides an API for DB migrations and a both Synchronous and Asynchronous API for data access and storage.
DB Migrations
In order to 'warm up' our DB, we can load a previously exported DB.
Importing a DB
var previousDB = {
// ...
}
db.import(previousDB)
Exporting a DB
var exported = db.export()
Synchronous API
getInsurances
var insurances = db.getInsurances()
// insurances is an array of objects with the id of each insurance and its name
getInsurance
var insurance = db.getInsurance(<type>)
// insurance is an object with the complete information about the Insurance
type
must be a string
getInsurances
var properties = db.getProperties()
// insurances is an array containing the type of properties
getUsers
var users = db.getUsers()
// users is an array with all the NIF numbers of users that requested for Insurance quotes
getUser
var user = db.getUser(<nif>)
// The user object, with all its information and the quotes it requested
nif
must be a string
putUser
db.putUser(<user>)
user
is a user object. If a user information already existed, it replaces it
Asynchronous API
getInsurances
db.getInsurances(function (err, insurances) {
// `insurances` is an array with the types of insurance available
})
getInsurance
db.getInsurance(<type>, function (err, insurance) {
// `insurance` is an object with the complete information about the Insurance
})
type
must be a string
getProperties
db.getProperties(function (err, properties) {
// `properties` is an array containing the types of property available
})
getUsers
db.getUsers(function (err, users) {
// users is an array with all the NIF numbers of users that requested for Insurance quotes
})
getUser
db.getUser(<nif>, function (err, user) {
// The user object, with all its information and the quotes it requested
})
nif
must be a string
putUser
db.putUser(<user>, function (err) {})
user
is a user object. If a user information already existed, it replaces it
Notes
If you are brave enough to read the code, you will see how siseSB couldn't be more simpler and really lacking important features like data validation that could compromise the DB. That was left to be done intentionally, so that users of siseDB have to handle the data with care. If are a student of the SISE CWEB course and are able to successfuly make a PR to siseDB that improves the quality of the DB, you get bonus extra points! Consider it a challenge :D