Jaxdms is your best electronic filing cabinets that provide a framework for organizing all documents applying access roles as to who views your document
Jaxdms is a fullstack application which helps users create and manage documents, and the same time, set who can view or access the document.
View the app live here
EndPoint | Functionality |
---|---|
POST /users/login | Logs a user in. |
POST /users/logout | Logs out a user. |
POST /users/ | Creates a new user. |
GET /users/ | Find matching instances of user. |
GET /users/?limit={integer}&offset={integer} | Pagination |
GET /users/ | Find user with the id. |
PUT /users/ | Update user attributes with id. |
DELETE /users/ | Deletes a user. |
GET /search/users/?q={} | Search for a user. |
EndPoint | Functionality |
---|---|
POST /documents/ | Creates a new document. |
GET /documents/ | Gets list of documents. |
GET /documents/?limit={integer}&offset={integer} | Pagination |
GET /documents/ | Finds a document with id. |
PUT /documents/ | Updates document attributes with id. |
DELETE /documents/ | Deletes a document with id. |
GET /users//documents | Find all documents belonging to the user. |
GET /search/documents/?q={doctitle} | Search for a doc. |
EndPoint | Functionality |
---|---|
GET /roles/ | List all roles. |
- Create and manage Documents.
- Admin creates and manages users.
- Decided who views your document
- Edit document
- Formatted documents
# Get the app locally
git clone https://github.com/andela-cuchendu/jaxdms.git
# Change directory
cd jaxdms
# Create .env file in the root directory
touch .env
# Copy .env.example to .env and edit with your parameters
# add your SECRET, PORT, DATABASE_URL, and TEST_DATABASE_URL keys
# Install Package dependencies
npm install
# Run your migrations
npm run migrate
# Run your migrations
npm run seedData
# Run the application
npm start
# Run end to end test
npm run e2e-setup
# Run end to end test
npm run test-e2e
The limitations 0f this application includes:
Users can only create textual documents and retrieve same when needed. Users cannot share documents with people, but can make document public to make it available to other users in the application. Real file types are not supportd Roles cannot be added
If you are interested in contributing to development of Jaxdms,
Follow the instructions below to contribute.
-
Fork the repository
-
Make your change
-
Commit your change to your forked repository
-
Provide a detailed commit description
-
Create a pull request
NOTE: Be sure to merge the latest from "upstream" before making a pull request! Airbnb style guide is the standard for this project. Follow the commit guidline below:
We have very precise rules over how our git commit messages can be formatted. This leads to more readable messages that are easy to follow when looking through the project history.
The commit message formatting can be added using a typical git workflow or through the use of a CLI
wizard (Commitizen). To use the wizard, run yarn run commit
in your terminal after staging your changes in git.
Each commit message consists of a header, a body and a footer. The header has a special format that includes a type, a scope and a subject:
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
The header is mandatory and the scope of the header is optional.
Any line of the commit message cannot be longer 100 characters! This allows the message to be easier to read on GitHub as well as in various git tools.
This project was created by Chibueze Uchendu and is licensed for personal use, modification and distribution is under the MIT license, see License File for more information. Feel free to share it!