A Plugin for managing company files within an organisations workspace in Zuri Chat.
To install this plugin
- Go to ZuriChat and create an account
- Login to zurichat with your verified account and create a workspace or join an existing one by invitation
- Once in the workspace, click on the Plugins button on the sidebar to enter the plugin marketplace
- Use the search feature to navigate to company files plugin
- Click on install button to integrate plugin
In Development
The link to the endpoint documentation for conpany files plugin can be found at Documentation
- NodeJS
- ReactJS
- Websockets (Centrifugo)
- Ensure NodeJS and Git are installed in machine
- Clone this repo using
git clone https://github.com/zurichat/zc_plugin_company_files.git
- Change directory into the new clone
cd zc_plugin_company_files
- Run setup script to install all packages using
yarn run install-setup
ornpm run install-setup:npm
- Run build script to get bundled react file
yarn run build:local
ornpm run build:local-npm
- Now run server in
development
mode withnpm run dev
oryarn dev
- Go to http://127.0.0.1:22666/ or http://localhost:22666/
For the BackEnd structure of this project, please refer to this document.
- Fork the repository
- Clone and then open it up on your prefered code editor
- Open your terminal & set the upstream branch:
git remote add upstream https://github.com/zurichat/zc_plugin_company_files.git
- Pull upstream
git pull upstream dev
- Create a new branch for the user story you're working on eg :
git checkout -b feat-import-file-from-url
- After making changes, do
git add .
- Commit your changes with a descriptive commit message :
git commit -m "your commit message"
. - To make sure there are no conflicts, run
git pull upstream dev
- Push changes to your new branch, run
git push origin feat-import-file-from-url
- Create a pull request to the
dev
branch.
Linting is the automated checking of a source code for programmatic and stylistic errors. This is done by using a lint tool (otherwise known as linter). A lint tool is a basic static code analyzer. Linting is important to reduce errors and improve the overall quality of our code.
For the backend part of this project, the Google code style is used with some minor modifications. A code style is set of conventions (sometimes arbitrary) about how to write code for that project. It is much easier to understand a large codebase when all the code in it is in a consistent style.
This plugin uses Commitlint to ensure commits messages follow a particular convention using the conventional config. If you're totally new to this convention, that's totally fine.
Commit CheatSheet
Type | Description | |
---|---|---|
feat | Features | A new feature |
fix | Bug Fixes | A bug fix |
docs | Documentation | Documentation only changes |
style | Styles | Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) |
refactor | Code Refactoring | A code change that neither fixes a bug nor adds a feature |
perf | Performance Improvements | A code change that improves performance |
test | Tests | Adding missing tests or correcting existing tests |
build | Builds | Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) |
ci | Continuous Integrations | Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) |
chore | Chores | Other changes that don't modify backend, frontend or test files |
revert | Reverts | Reverts a previous commit |
Sample Commit Messages
chore: Updated README file
:=chore
is used because the commit didn't make any changes to the backend, frontend or test folders in any way.feat: Added plugin info endpoints
:=feat
is used here because the feature was non-existent before the commit.