Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added README.md for company files #79

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 99 additions & 0 deletions docs/development/companyFiles/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
## **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](https://zuri.chat/Signup) 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](https://docs.zuri.chat/)


### **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 `npm run install-setup` or `npm run install-setup:npm`
5. Run build script to get bundled react file `npm run build:local` or `npm run build:local-npm`
6. Now run server in development mode with `npm run dev`
7. Go to [local](http://localhost:5500/)


### **Project Structure**
For the BackEnd structure of this project, please refer to this [document](CONTRIBUTION.md).


### **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 : `git pull upstream dev`
9. Push changes to your new branch : `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**
- Team Galileo HNG Internship 2021
- [Hotels NG](https://hotels.ng/)
- [Zuri Team](https://zuri.team/)
- [I4G](https://ingressive.org/)

### **Copyright and Licensing**
[License](LICENSE.md)