Skip to content

An effective file management plugin that improves business workflow, allows the organization of important data, and provides a searchable database for quick retrieval.

License

Notifications You must be signed in to change notification settings

zurichat/zc_plugin_company_files

Repository files navigation

Zuri Chat Company Files Plugin


Description

A Plugin for managing company files within an organisations workspace in Zuri Chat.

Installation Instructions

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

Status

In Development

Endpoint Documentation

The link to the endpoint documentation for conpany files plugin can be found at Documentation

Technologies Used

  • NodeJS
  • ReactJS
  • Websockets (Centrifugo)

Setting Up The Project

  1. Ensure NodeJS and Git are installed in machine
  2. Clone this repo using git clone https://github.com/zurichat/zc_plugin_company_files.git
  3. Change directory into the new clone cd zc_plugin_company_files
  4. Run setup script to install all packages using yarn run install-setup or npm run install-setup:npm
  5. Run build script to get bundled react file yarn run build:local or npm run build:local-npm
  6. Now run server in development mode with npm run dev or yarn dev
  7. Go to http://127.0.0.1:22666/ or http://localhost:22666/

Project Structure

For the BackEnd structure of this project, please refer to this document.

Contribution Guidelines

  1. Fork the repository
  2. Clone and then open it up on your prefered code editor
  3. Open your terminal & set the upstream branch: git remote add upstream https://github.com/zurichat/zc_plugin_company_files.git
  4. Pull upstream git pull upstream dev
  5. Create a new branch for the user story you're working on eg : git checkout -b feat-import-file-from-url
  6. After making changes, do git add .
  7. Commit your changes with a descriptive commit message : git commit -m "your commit message".
  8. To make sure there are no conflicts, run git pull upstream dev
  9. Push changes to your new branch, run git push origin feat-import-file-from-url
  10. Create a pull request to the dev branch.

Linting

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.

Commit Guide

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.

Credits and Acknowledgement

Copyright and Licensing

License

About

An effective file management plugin that improves business workflow, allows the organization of important data, and provides a searchable database for quick retrieval.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages