Document Management System is a react redux application that allows users to create, track, manage and store documents .
Users are authenticated and validated using JWT tokens.
- Create an account
- Login with your credentials
- Create new document with specifying document title, content and document access
- Edit Documents
- Delete documents
- View public documents created by other users.
- View documents created by his access group with access level set as role.
- Search a users public documents.
- View public and role access level documents of other regular users.
- Logout
- In addition to the general user functions, an admin user can:
- View all users.
- View all created documents except documents with access set to private.
- Delete any user.
- Update any user's record.
- Create a new role.
- View all created roles.
- Search for any user.
- Mocha
- Webpack
- React Redux
- Travic CI
- Coveralls
- Hound CI
- HTML/CSS
- Materilized css
- Scss
- Sequelize
- Express
- Clone the repository.
- Install dependencies
- Create a new branch for included feature(s) using the keyword - feature/ example feature/new-feature.
- Raise a pull request.
- Install NodeJs and Postgres on your machine
- Clone the repository $ git clone https://github.com/andela-uibrahim/document-manager.git
- Change into the directory $ cd /document-manager
- Install all required dependencies with $ npm install
- Create a .env file in your root directory
- Migrate your database by running this command sequelize db:migrate:all
- Seed your database by running this command npm run db:seed:all, this seeds admin and regular roles, and superadmin user.
- Run npm start to start the application on development environment
- Run Test npm test
- You can undo your migrations by running this command sequelize db:migrate:undo:all .
- I strongly suggest using separate DB for testing and development