Trak-Bon-Docs is a fullstack document management system built on react with redux. It utilizes RESTFUL API architecture for managing documents, users and roles. Also, authentication is done using JWT.
Users are authenticated and validated using JWT web token. Generating tokens on signup and login ensures documents and API endpoints are protected.
- Create an account
- Login with 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.
- Logout
- In addition to the general user functions, an admin user can:
- View all users.
- View all created documents including 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.
This application was developed using the following frameworks.
- Ensure that you have NodeJs and Postgres installed on your machine
- Clone the repository
$ git clone https://github.com/andela-tezebuike/Trak-Bon-Docs.git
- Change into the directory
$ cd TrakBon Docs
- Install all required dependencies with
$ npm install
- Create a
.env
file in your root directory as described in.env.sample
file
- Run DB setup command with
npm run db:setup
. This will setup the database and seed some data - Run
npm start
to start the application on development environment
- Run Test
npm test
. This will clean the test database and setup it up before the test is run.I strongly suggest using separate DB for testing and development
The API has routes, each dedicated to a single task that uses HTTP response codes to indicate API status and errors.
- Click [here] to view the detailed documentation.
- Postgresql and
- Node.js >= v7.9.0.
- Clone this repository from a terminal
git clone https://github.com/andela-tezebuike/Trak-Bon-Docs.git
. - Move into the project directory
cd TrakBon Docs
- Install project dependencies
npm install
- Create Postgresql database and run migrations
npm run db:setup
. - Start the express server
npm run start
. - Run test
npm test
. - Branch out of master
git checkout -b [new-branch-name]
- Make changes and commit your changes
- Git push and make a pull request to my repo
Currently, we can't say our API can handle larger requests, this may be a problem when our user base grows to over million.
MIT