A document management application
DocMan
is a document managment system that exposes endpoints using RESTful API.- It has the following features:
- Login
- Signup
- find one user
- Find all users
- Search for documents
- Search for users
- Create documents
- Delete documents, users
- Update documents, users
- The API Documentation can be found at here
- babel-cli - Allows running the app in ES6 mode on the fly without having to transpile down to ES5
- babel-preset-es2015, babel-preset-stage-0 - These packages provide Babel presets for es2015 plugins, stage 0 plugins
- bcryptjs - Used to hash passwords
- body-parser - Node.js body parsing middleware. Parse incoming request bodies in a middleware before your handlers, available under the
req.body
property. - dotenv - Loads environment variables
- express - Used as the web server for this application
- jsonwebtoken - Generates JWT tokens and can verify them
- pg - Non-blocking PostgreSQL client for node.js. Pure JavaScript and optional native libpq bindings
- sequelize - Sequelize is a promise-based Node.js ORM for Postgres, MySQL, SQLite and Microsoft SQL Server. It features solid transaction support, relations, read replication and more
- chai - Chai is a BDD / TDD assertion library for node and the browser that can be delightfully paired with any javascript testing framework.
- coveralls - Coveralls.io support for node.js. Get the great coverage reporting of coveralls.io and add a cool coverage button to your README.
- gulp - gulp is a toolkit that helps you automate painful or time-consuming tasks in your development workflow.
- gulp-babel - Use next generation JavaScript, today, with Babel
- gulp-inject-modules - Loads JavaScript files on-demand from a Gulp stream into Node's module loader.
- istanbul - Generates test coverage
- gulp-spawn-mocha - call mocha-cli from gulp
- mocha - javascript test framwork
- gulp-nodemon - it's gulp + nodemon + convenience
- sequelize-cli - The Sequelize Command Line Interface (CLI)
- supertest - HTTP assertions made easy via superagent.
-
Navigate to a directory using your favourite
terminal
. -
Clone this repository to that directory.
-
Using SSH;
$ git clone git@github.com:andela-obamidele/docman.git
-
Using HTTP;
$ git clone https://github.com/andela-obamidele/docman.git
-
Navigate to the repo's directory
-
$ cd document-manager
-
Install the app's dependencies
-
$ npm install
-
Run the app
-
$ npm start
- The tests were written using Supertest, Chai.
- The test coverage is generated by
istanbul
package - To run tests, navigate to the project's root directory
- Run the following commands.
$ npm test
In order to contribute, certain guidelines and style guides must be followed.
More info is available on the repo's wiki.
To contribute, fork this repo to your private repository and create a pull request based on the feature you want to add.
This app and its functions are limited by time constraint and is in no way at its best.
- How do I contribute to this project
- Read the wiki
- Fork the repo and raise a pull request when you're dobe
- How long will this api be supported
- As long as the there are users
- How do I report a bug
- Raise an issue telling you what youu were trying to do when the error occured
- and the error message
License included in the repository
Olufisayo Bamidele