README
wmt-db
This project is used to implement Pouch DB into your application.
Setting up the module
- git clone git@bitbucket.org:wmtp/wmt-db.git
- cd wmt-db
- npm install
Building the module
The module uses Typescript compiler (TSC) to compile the source code. To build the project run the following command:
- npm run build
Installing the module for testing
You can install the module into your own JavaScript project as a dependency. After you clone the module you can install using the following command:
- npm install /absolute/path/to/wmt-db
- i.e. -> npm install /Users/wmt/Documents/projects/npm/wmt-db
Installing the module from npm
Use the following command to install from npm:
- npm install wmt-db
Importing the module
Once you have the module installed you can import exported functions into your code like so:
import {
createDatabase,
upsertDocument,
getAllDocumentsAsArray,
getAllDocumentsAsObject
} from "wmt-db";
Using the module
Example of using the module:
// create a database
createDatabase("mood-tracker");
// get all documents out of the database as an array and set it to local state
const tempArray: object[] = [];
getAllDocumentsAsArray(dbName).then((results: any) => {
results.map((result: any) => {
const dataItem = {
date: result.date,
Anxiety: result.anxiety,
Depression: result.depression
};
tempArray.push(dataItem);
});
this.setState({ data: tempArray });
});
// getting all documents as object and saving the response in local state
getAllDocumentsAsObject("user")
.then(response => {
this.setState({ userDataObject: response });
})
.catch(error => {
console.log(error);
});
// save or update a new document to the database
saveScore = () => {
const date = new Date();
const idString =
date.getFullYear() + "/" + date.getMonth() + "/" + date.getDate();
const dateString =
date.getMonth() + 1 + "/" + date.getDate() + "/" + date.getFullYear();
const currentDocument = { _id: idString, date: dateString };
upsertDocument(
dbName,
currentDocument,
"anxiety",
this.state.anxietySlider
).then(() => {
upsertDocument(
dbName,
currentDocument,
"depression",
this.state.depressionSlider
).then(this.loadGraphDataFromPouchDB);
});
};
Testing
- Tests can be ran with the
npm test
command. - Tests are ran using Jest - More information about getting started with Jest can be found here.
Viewing API docs
Here you can find the API docs that detail all functions of this module: https://wmtp.bitbucket.io/TypescriptModules/docs/wmt-db/docs
Viewing the source code
https://bitbucket.org/wmtp/wmt-db
Published module
Here is where the module is currently published: https://www.npmjs.com/package/wmt-db
License
This project is licensed under the MIT License.