From bb1c502ad121759eb619c489b1f4c7bc0ab34a76 Mon Sep 17 00:00:00 2001 From: Tmakinde Date: Tue, 26 Oct 2021 13:04:40 +0100 Subject: [PATCH 01/13] Created markdown file for technical specification of native and flutter android --- docs/Plugins/flutterandroid.md | 31 +++++++++++++++++++++++++++++++ docs/Plugins/nativeandroid.md | 26 ++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 docs/Plugins/flutterandroid.md create mode 100644 docs/Plugins/nativeandroid.md diff --git a/docs/Plugins/flutterandroid.md b/docs/Plugins/flutterandroid.md new file mode 100644 index 0000000..c1afb34 --- /dev/null +++ b/docs/Plugins/flutterandroid.md @@ -0,0 +1,31 @@ +--- +slug: /Flutter-Android +sidebar_position: 1 +title: Flutter-Android App +--- + +[#](#anchors-in-markdown) +# Technical Specifications for Zurichat Android Flutter App # + +This contains the technical specifications for zuri andoid native app +## Platform +The ZuriChat Mobile app was built with Flutter, a trending technology owned by Google. Flutter is a powerful UI toolkit powered by Dart for building beautiful, natively compiled applications for mobile, web, desktop, and embedded devices from a single codebase. Codebase architecture and state management is Stacked (with MVVM) + +## Supporting Versions of the OS +- Android versions 4.4 Kitkat through 12 +- IOS *(not tested yet) + + +## Information on the Servers +- Server and Online DB: Auth: Zuri Core, DMs and Channels: Zuri Main +- In-app Services: taken care by the - architecture and state management tool. +- Local Database: SharedPreferences and Hive* or SQflite* + +## API/Services Doc +- Zuri core: https://docs.zuri.chat/ +- DMs: https://docs.zuri.chat/dm_chat +- Channels: https://docs.zuri.chat/channels + +## Credentials/Developers Accounts for Google Playstore +- Playstore Account Link: https://play.google.com/store/apps/developer?id=The+Zuri+Team +- Apple Store Account Link: None Yet diff --git a/docs/Plugins/nativeandroid.md b/docs/Plugins/nativeandroid.md new file mode 100644 index 0000000..426ab80 --- /dev/null +++ b/docs/Plugins/nativeandroid.md @@ -0,0 +1,26 @@ +--- +slug: /Native-Android +sidebar_position: 1 +title: Native-Android App +--- + +[#](#anchors-in-markdown) +# Technical Specifications for Zurichat Android Native App # + +This contains the technical specifications for zuri andoid native app +## Platform +Android Operating System + +## Supporting Versions of the OS +minSDK - API level 21 (lollipop)(>API21) + +## Information on the Servers +Zuri core4 Backend +minSDK - API level 21 (lollipop)(>API21) +## API/Services Doc +- Zuri core: https://docs.zuri.chat/ +- DMs: https://docs.zuri.chat/dm_chat +- Channels: https://docs.zuri.chat/channels + +## Credentials/Developers Accounts for Google Playstore +https://play.google.com/store/apps/developer?id=The+Zuri+team \ No newline at end of file From e7cc435d001dd5d5ce926d18efc2035a99817c77 Mon Sep 17 00:00:00 2001 From: Tmakinde Date: Tue, 26 Oct 2021 14:01:19 +0100 Subject: [PATCH 02/13] made changes to markdown file of native and flutter android --- docs/Plugins/flutterandroid.md | 16 ++++++++-------- docs/Plugins/nativeandroid.md | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/docs/Plugins/flutterandroid.md b/docs/Plugins/flutterandroid.md index c1afb34..a8f60b8 100644 --- a/docs/Plugins/flutterandroid.md +++ b/docs/Plugins/flutterandroid.md @@ -4,28 +4,28 @@ sidebar_position: 1 title: Flutter-Android App --- -[#](#anchors-in-markdown) -# Technical Specifications for Zurichat Android Flutter App # -This contains the technical specifications for zuri andoid native app -## Platform +# Technical Specifications for Zurichat Android Flutter App + +This contains the technical specifications for zuri android native app +### Platform The ZuriChat Mobile app was built with Flutter, a trending technology owned by Google. Flutter is a powerful UI toolkit powered by Dart for building beautiful, natively compiled applications for mobile, web, desktop, and embedded devices from a single codebase. Codebase architecture and state management is Stacked (with MVVM) -## Supporting Versions of the OS +### Supporting Versions of the OS - Android versions 4.4 Kitkat through 12 - IOS *(not tested yet) -## Information on the Servers +### Information on the Servers - Server and Online DB: Auth: Zuri Core, DMs and Channels: Zuri Main - In-app Services: taken care by the - architecture and state management tool. - Local Database: SharedPreferences and Hive* or SQflite* -## API/Services Doc +### API/Services Doc - Zuri core: https://docs.zuri.chat/ - DMs: https://docs.zuri.chat/dm_chat - Channels: https://docs.zuri.chat/channels -## Credentials/Developers Accounts for Google Playstore +### Credentials/Developers Accounts for Google Playstore - Playstore Account Link: https://play.google.com/store/apps/developer?id=The+Zuri+Team - Apple Store Account Link: None Yet diff --git a/docs/Plugins/nativeandroid.md b/docs/Plugins/nativeandroid.md index 426ab80..abea7f4 100644 --- a/docs/Plugins/nativeandroid.md +++ b/docs/Plugins/nativeandroid.md @@ -4,23 +4,23 @@ sidebar_position: 1 title: Native-Android App --- -[#](#anchors-in-markdown) -# Technical Specifications for Zurichat Android Native App # -This contains the technical specifications for zuri andoid native app -## Platform +# Technical Specifications for Zurichat Android Native App + +This contain the technical specifications for zuri android native app +### Platform Android Operating System -## Supporting Versions of the OS +### Supporting Versions of the OS minSDK - API level 21 (lollipop)(>API21) -## Information on the Servers +### Information on the Servers Zuri core4 Backend minSDK - API level 21 (lollipop)(>API21) -## API/Services Doc +### API/Services Doc - Zuri core: https://docs.zuri.chat/ - DMs: https://docs.zuri.chat/dm_chat - Channels: https://docs.zuri.chat/channels -## Credentials/Developers Accounts for Google Playstore +### Credentials/Developers Accounts for Google Playstore https://play.google.com/store/apps/developer?id=The+Zuri+team \ No newline at end of file From 60023ca6710607d4b32b1fb6028c7d9334a60d05 Mon Sep 17 00:00:00 2001 From: Precious Abubakar Date: Wed, 27 Oct 2021 03:49:55 +0100 Subject: [PATCH 03/13] [development]: company files getting started documentation, initial commit --- docs/development/companyFiles/get_started.md | 142 +++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 docs/development/companyFiles/get_started.md diff --git a/docs/development/companyFiles/get_started.md b/docs/development/companyFiles/get_started.md new file mode 100644 index 0000000..839b4fa --- /dev/null +++ b/docs/development/companyFiles/get_started.md @@ -0,0 +1,142 @@ +--- +slug: /files-doc +sidebar_position: 1 +title: Zuri Chat Company Files Plugin +--- + +## GETTING STARTED + +### Quickstart + +#### Cloning the Repository + +1. Fork this repository https://github.com/zurichat/zc_plugin_company_files +2. Open a terminal and clone the repository: `git clone https://github.com/zurichat/zc_plugin_company_files.git` + +#### Installing Dependencies + +1. Ensure nodejs and git are installed in your machine `node -v && git --version` + If they are not installed, you can follow the guide [here](#setting-up-for-windowslinuxmac) to install. +2. Change directory into the new clone. `cd zc_plugin_company_files` +3. Run setup script to install all packages using `yarn run install-setup` or `npm run install-setup:npm` + +#### How to Run the App Locally + +1. Run build script to get bundled react file `yarn run build:local` or `npm run build:local-npm` +2. Now run server in development mode with `yarn run dev`or `npm run dev` +3. Visit http://localhost:5500/ + +#### How to Run Tests + +??? + +#### Project Structure + +For the BackEnd structure of this project, please refer to this [document](https://github.com/zurichat/zc_plugin_company_files/blob/dev/BACKEND_DOC.md). + +### Local Development + +#### Tests That Have Been Setup + +??? + +#### 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. + +#### Contribution Guide + +1. Open your cloned repo in your prefered code editor. +2. Open your terminal & set the upstream branch: `git remote add upstream https://github.com/zurichat/zc_plugin_company_files.git` +3. Pull upstream `git pull upstream dev` +4. Create a new branch for the ticket you're working on eg : `git checkout -b feat-import-file-from-url` +5. After making changes, run `git add .` +6. Commit your changes with a descriptive commit message : `git commit -m "your commit message"`. +7. To make sure there are no conflicts : `git pull upstream dev` +8. Push changes to your new branch : `git push origin feat-import-file-from-url` +9. Create a pull request to the `dev` branch. + +#### PR Guide + +??? + +#### Setting Up for Windows/Linux/Mac + +- [How to install Git on Windows, Linux and macOS](https://www.digitalocean.com/community/tutorials/how-to-contribute-to-open-source-getting-started-with-git) + +##### Windows + +- [How to install node.js](https://phoenixnap.com/kb/install-node-js-npm-on-windows) +- Install yarn using `npm install --global yarn` +- Check installed yarn version `yarn --version` + +##### macOS + +- [How to install node.js on macOS](https://www.webucator.com/article/how-to-install-nodejs-on-a-mac/) +- Install Yarn using `npm install --global yarn` or `brew install yarn` or `curl -o- -L https://yarnpkg.com/install.sh | bash` +- Check installed yarn version `yarn --version` + +##### Linux + +- [How to install node.js on Linux PC](https://linuxconfig.org/how-to-install-node-js-on-linux) +- Install yarn using `npm install --global yarn` + + or + + Import the GPG key to verify the yarn packages: `curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -` + + Enable the Yarn package manager repository: `echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list` + + Then install the yarn package manager: `sudo apt update && sudo apt install yarn` + + Check the installed yarn version: `yarn --version` + +### Troubleshooting + +#### Possible Errors and Solutions + +| Error | Probable Cause | Solution | +| :--------------------------------------------------------------------------------------------------------------------------------- | ---------------------- | ---------------------------------------------------------------- | +| -bash: git: command not found

'git' is not recognized as an internal or external command, operable program, or batch file. | Git is not installed. | Install git. See guide [here.](#setting-up-for-windowslinuxmac) | +| 'yarn' is not recognized as an internal or external command, operable program or batch file. | yarn is not installed. | Install yarn. See guide [here.](#setting-up-for-windowslinuxmac) | + +#### Contact + +If you have any questions, feel free to contact any of these people: + +- Team lead: + [Omezibe](https://github.com/omzi) + (Email: obiohaomezibe@gmail.com; Slack workspace display name - **@omzi**) + +- Frontend Lead: + [Williams](https://github.com/billmal071) + (Email: billmal071@gmail.com; Slack workspace display name - **@Gilgamesh**) + +--- From 2cd247b0be98e06998b2636abd301b4c820a1ab8 Mon Sep 17 00:00:00 2001 From: Precious Abubakar Date: Wed, 27 Oct 2021 18:31:41 +0100 Subject: [PATCH 04/13] [Development]: Company Files Getting Started docs updated --- docs/development/companyFiles/get_started.md | 58 +++++++++----------- docs/development/companyFiles/readme.md | 0 2 files changed, 26 insertions(+), 32 deletions(-) delete mode 100644 docs/development/companyFiles/readme.md diff --git a/docs/development/companyFiles/get_started.md b/docs/development/companyFiles/get_started.md index 839b4fa..4d25d44 100644 --- a/docs/development/companyFiles/get_started.md +++ b/docs/development/companyFiles/get_started.md @@ -6,47 +6,39 @@ title: Zuri Chat Company Files Plugin ## GETTING STARTED -### Quickstart +## Quickstart -#### Cloning the Repository +### Cloning the Repository 1. Fork this repository https://github.com/zurichat/zc_plugin_company_files 2. Open a terminal and clone the repository: `git clone https://github.com/zurichat/zc_plugin_company_files.git` -#### Installing Dependencies +### Installing Dependencies 1. Ensure nodejs and git are installed in your machine `node -v && git --version` If they are not installed, you can follow the guide [here](#setting-up-for-windowslinuxmac) to install. 2. Change directory into the new clone. `cd zc_plugin_company_files` 3. Run setup script to install all packages using `yarn run install-setup` or `npm run install-setup:npm` -#### How to Run the App Locally +### How to Run the App Locally 1. Run build script to get bundled react file `yarn run build:local` or `npm run build:local-npm` 2. Now run server in development mode with `yarn run dev`or `npm run dev` 3. Visit http://localhost:5500/ -#### How to Run Tests - -??? - -#### Project Structure +### Project Structure For the BackEnd structure of this project, please refer to this [document](https://github.com/zurichat/zc_plugin_company_files/blob/dev/BACKEND_DOC.md). -### Local Development - -#### Tests That Have Been Setup +## Local Development -??? - -#### Linting +### 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 +### 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. @@ -71,7 +63,7 @@ This plugin uses Commitlint to ensure commits messages follow a particular conve - `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. -#### Contribution Guide +### Contribution Guide 1. Open your cloned repo in your prefered code editor. 2. Open your terminal & set the upstream branch: `git remote add upstream https://github.com/zurichat/zc_plugin_company_files.git` @@ -83,51 +75,55 @@ This plugin uses Commitlint to ensure commits messages follow a particular conve 8. Push changes to your new branch : `git push origin feat-import-file-from-url` 9. Create a pull request to the `dev` branch. -#### PR Guide +### PR Guide -??? +1. Pull request (PR) should clearly state clearly state its purpose/task in the description. +2. PR should only touch files within its scope. **Do not** correct comment typos or change variable names in another file. Fix only what is needed to make things work. +3. Lint your files before making PRs. +4. Always pull and merge into latest upstream dev branch before making PRs to avoid merge conflicts. +5. Your PR must be approved by 2 PR approvers/mergers before it is merged. -#### Setting Up for Windows/Linux/Mac +### Setting Up for Windows/Linux/Mac - [How to install Git on Windows, Linux and macOS](https://www.digitalocean.com/community/tutorials/how-to-contribute-to-open-source-getting-started-with-git) -##### Windows +#### Windows - [How to install node.js](https://phoenixnap.com/kb/install-node-js-npm-on-windows) - Install yarn using `npm install --global yarn` - Check installed yarn version `yarn --version` -##### macOS +#### macOS - [How to install node.js on macOS](https://www.webucator.com/article/how-to-install-nodejs-on-a-mac/) - Install Yarn using `npm install --global yarn` or `brew install yarn` or `curl -o- -L https://yarnpkg.com/install.sh | bash` - Check installed yarn version `yarn --version` -##### Linux +#### Linux - [How to install node.js on Linux PC](https://linuxconfig.org/how-to-install-node-js-on-linux) - Install yarn using `npm install --global yarn` or - Import the GPG key to verify the yarn packages: `curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -` +- Import the GPG key to verify the yarn packages: `curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -` - Enable the Yarn package manager repository: `echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list` +- Enable the Yarn package manager repository: `echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list` - Then install the yarn package manager: `sudo apt update && sudo apt install yarn` +- Then install the yarn package manager: `sudo apt update && sudo apt install yarn` - Check the installed yarn version: `yarn --version` +- Check the installed yarn version: `yarn --version` -### Troubleshooting +## Troubleshooting -#### Possible Errors and Solutions +### Possible Errors and Solutions | Error | Probable Cause | Solution | | :--------------------------------------------------------------------------------------------------------------------------------- | ---------------------- | ---------------------------------------------------------------- | | -bash: git: command not found

'git' is not recognized as an internal or external command, operable program, or batch file. | Git is not installed. | Install git. See guide [here.](#setting-up-for-windowslinuxmac) | | 'yarn' is not recognized as an internal or external command, operable program or batch file. | yarn is not installed. | Install yarn. See guide [here.](#setting-up-for-windowslinuxmac) | -#### Contact +### Contact If you have any questions, feel free to contact any of these people: @@ -138,5 +134,3 @@ If you have any questions, feel free to contact any of these people: - Frontend Lead: [Williams](https://github.com/billmal071) (Email: billmal071@gmail.com; Slack workspace display name - **@Gilgamesh**) - ---- diff --git a/docs/development/companyFiles/readme.md b/docs/development/companyFiles/readme.md deleted file mode 100644 index e69de29..0000000 From 65484b1eff550ab72fb9bd327b294d5361d709e9 Mon Sep 17 00:00:00 2001 From: Emekarr Date: Wed, 27 Oct 2021 23:09:16 +0100 Subject: [PATCH 05/13] finished writing the doc. remains the info of the team leads. --- docs/development/noticeboard/get_started.md | 116 ++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 docs/development/noticeboard/get_started.md diff --git a/docs/development/noticeboard/get_started.md b/docs/development/noticeboard/get_started.md new file mode 100644 index 0000000..9549bf0 --- /dev/null +++ b/docs/development/noticeboard/get_started.md @@ -0,0 +1,116 @@ +# GETTING STARTED + +## Quickstart + +## Cloning the Repository + +1. Fork this repository https://github.com/zurichat/zc_plugin_noticeboard. +2. Open a terminal and clone the repository: `git clone https://github.com/your_username/zc_plugin_noticeboard.git` + +## Installing Dependencies + +Ensure python, nodejs and git are installed in your machine by running `python --version && git --version && node -v` in your terminal. If they are not installed, you can follow the guide [here](#setting-up-for-windowslinuxmac) to install. + +### Backend +1. Change directory into the new cloned folder: `cd ./zc_plugin_noticeboard/backend/` +2. Set up your virtual environment by running: `python -m venv env` +3. Activate your virtual environment by running: `env\Scripts\activate` +4. Navigate to the `notice_project` directory and install the dependencies: `pip install -r requirements.txt` +5. Add the precommit to the git folder: `pre-commit install` + +### Frontend +1. Change directory into the new cloned folder: `cd ./zc_plugin_noticeboard/backend/notice_project/frontend/` +2. Run this in the terminal to install all dependencies: `yarn` + +## How to Run the App Locally + +### Backend +1. Navigate to the backend folder: `cd ./zc_plugin_noticeboard/backend/` +2. Now run server in development mode with `python manage.py runserver` +3. Visit http://localhost:8000/ + +### Frontend +1. Navigate to the frontend folder: `cd ./zc_plugin_noticeboard/backend/notice_project/frontend/` +2. Run the command `yarn start` to run in integrated mode or `yarn start:standalone` to run in standalone. + +## Local Development + +### 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, Pylint is used for linting and Black for formatting the code. 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. + +The Pylint and Black can be found in the precommit file for the project. + +### Contribution Guide + +1. Open your cloned repo in your prefered code editor. +2. Add the remote upstream: `git remote add upstream https://github.com/zurichat/zc_plugin_noticeboard.git` +3. Create a development branch `git checkout -b development` or `git checkout development` if you already have one. +4. Get the latest code from the upstream: `git pull upstream development` +5. When you are done add your changed files to the staging area: `git add .` +6. Commit your changes: `git commit -m 'what changes you made and why'` +7. Pull from upstream again to avoid conflicts when mergin `git pull upstream development` +8. Push your changes to your remote repo: `git push origin development` +9. Create a pull request to the `development` branch. + +### PR Guide + +1. Pull request (PR) should clearly state clearly state its purpose/task in the description. +2. PR should only touch files within its scope. **Do not** correct comment typos or change variable names in another file. Fix only what is needed to make things work. +3. Lint your files before making PRs. +4. Always pull and merge into latest upstream dev branch before making PRs to avoid merge conflicts. +5. Your PR must be approved by 2 PR approvers/mergers before it is merged. + +### Setting Up for Windows/Linux/Mac + +- [How to install Git on Windows, Linux and macOS](https://www.digitalocean.com/community/tutorials/how-to-contribute-to-open-source-getting-started-with-git) +- [How to install Python on Windows, Linux and macOS](https://realpython.com/lessons/how-install-python-your-computer/) + +#### Windows + +- [How to install node.js](https://phoenixnap.com/kb/install-node-js-npm-on-windows) +- Install yarn using `npm install --global yarn` +- Check installed yarn version `yarn --version` + +#### macOS + +- [How to install node.js on macOS](https://www.webucator.com/article/how-to-install-nodejs-on-a-mac/) +- Install Yarn using `npm install --global yarn` or `brew install yarn` or `curl -o- -L https://yarnpkg.com/install.sh | bash` +- Check installed yarn version `yarn --version` + +#### Linux + +- [How to install node.js on Linux PC](https://linuxconfig.org/how-to-install-node-js-on-linux) +- Install yarn using `npm install --global yarn` + + or + +- Import the GPG key to verify the yarn packages: `curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -` + +- Enable the Yarn package manager repository: `echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list` + +- Then install the yarn package manager: `sudo apt update && sudo apt install yarn` + +- Check the installed yarn version: `yarn --version` + +## Troubleshooting + +### Possible Errors and Solutions + +| Error | Probable Cause | Solution | +| :--------------------------------------------------------------------------------------------------------------------------------- | ---------------------- | ---------------------------------------------------------------- | +| -bash: git: command not found

'git' is not recognized as an internal or external command, operable program, or batch file. | Git is not installed. | Install git. See guide [here.](#setting-up-for-windowslinuxmac) | +| 'yarn' is not recognized as an internal or external command, operable program or batch file. | yarn is not installed. | Install yarn. See guide [here.](#setting-up-for-windowslinuxmac) | +| Python is not recognized as an internal or external command | python executable file is not found in the environment variables. | Add the executable to the environment variables. See guide [here.](https://www.educative.io/edpresso/err-python-is-not-recognized-as-an-internal-or-external-command) | + +### Contact + +If you have any questions, feel free to contact any of these people: +- Frontend Lead: + [Someone](https://github.com/someone) + (Email: someone@gmail.com; Slack workspace display name - **@someone**) +- Backend Lead: + [Someone](https://github.com/someone) + (Email: someone@gmail.com; Slack workspace display name - **@someone**) \ No newline at end of file From dbb7a15b2f0ea7f8cb23dab57c8e88d1e18c4263 Mon Sep 17 00:00:00 2001 From: abiona01 Date: Thu, 28 Oct 2021 19:49:25 +0100 Subject: [PATCH 06/13] Setup development get started documentation for company goals plugin --- docs/development/companyGoals/get_started.md | 76 ++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 docs/development/companyGoals/get_started.md diff --git a/docs/development/companyGoals/get_started.md b/docs/development/companyGoals/get_started.md new file mode 100644 index 0000000..bb6b3c5 --- /dev/null +++ b/docs/development/companyGoals/get_started.md @@ -0,0 +1,76 @@ +# Get Started + +**This plugin is built with React and Node JS** + +Make sure you have nodejs and yarn installed by running the following command: + +```bash +node -v +yarn -v +``` + +> If you do not have node installed, install nodejs suitable for your operating system from [here](https://nodejs.org/en/download/) + +> If your node version is less than v14, you would need to update it. + +> If you do not have yarn installed on your local machine; + +**For windows OS** run `npm i -g yarn` in your terminal to install it. +**For Mac OS** run `brew install yarn` make sure you have [Homebrew] (https://tecadmin.net/install-homebrew-macos/) installed + +## How to fork and clone the repo + +To fork the repo, go to [https://github.com/zurichat/zc_plugin_company_goals] (https://github.com/zurichat/zc_plugin_company_goals), click on the **fork** button to fork the repo. Clone your forked repo in a terminal, say git bash or any other terminal run `git clone https://github.com/yourusername/zc_plugin_company_goals.git` + +After cloning the project on your local machine, create new branch for your task, then set the original repo as upstream. Like this; `git remote add upstream https://github.com/zurichat/zc_plugin_company_goals` + +## Install dependencies + +In the IDE of your choice, run `yarn install` in the root folder of the project to install dependencies +cd into the serve-client folder, run `yarn install` to install dependencies in the folder +cd into the client folder, run `yarn install` to install dependencies in the folder + +## How to run the app locally/ build + +**Run the frontend development server using either of the following commands from the root folder:** +In your IDE terminal run; + +``` +npm run client:dev +# or +yarn run client:dev +``` + +Open [http://localhost:9000](http://localhost:9000) in your browser to see the result. + +**Run the backend development server using either of the following commands:** + +In your IDE terminal run; + +``` +npm run server +# or +yarn run server +``` + +## How to run test + +## Additional resources + +Get familiar with [MUI](https://mui.com/getting-started/usage/), the world's most popular React UI framework. It's used with [styled-components](https://styled-components.com/) for styling. + +## Local development + +Work only in the folder you're creating/updating components in, changes immediately reflect on [http://localhost:9000](http://localhost:9000) so you can see you work. + +## PR Guidelines + +**Ensure your branch name is descriptive enought to tell the PR reviewer what you worked on.** + +> Before you start working, be sure to pull from the upstream dev branch `git pull upstream dev` + +> When you're making commits, ensure your commit message is as descriptive as possible. + +> Pull from the upstream dev branch again before you push your commit(s) to your branch on github to avoid merge conflicts. + +> After pushing your changes to your branch on github, create a pull request, ensure the **dev** branch is the base branch you're making the pull request to else your PR won't be merged. From 2a0d6d7ca8bf1dc5566a672c3dbd6b62aace7520 Mon Sep 17 00:00:00 2001 From: jamido1 <66392050+jamido1@users.noreply.github.com> Date: Fri, 29 Oct 2021 16:16:59 +0100 Subject: [PATCH 07/13] getting started doc for sales plugin --- docs/development/sales/get_started.md | 96 +++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 docs/development/sales/get_started.md diff --git a/docs/development/sales/get_started.md b/docs/development/sales/get_started.md new file mode 100644 index 0000000..faa4c53 --- /dev/null +++ b/docs/development/sales/get_started.md @@ -0,0 +1,96 @@ +# **GETTING STARTED WITH THE SALES PLUGIN** + +# Quickstart +## Forking and Cloning the Repo +​ +Fork the repo from (https://github.com/zurichat/zc_plugin_company_sales_prospect) then copy the HTTPS link from your fork which will look like this (https://github.com/{your-github-username}/zc_plugin_company_sales_prospect.git). +Then proceed to your terminal or CMD and clone the repo in a new folder using the git command ` git clone ` as a prefix to the copied link +​ +# Local development +​ +## Running the app locally +​ +## React Server +Still in a terminal go to the `frontend/mainApp` directory and then run the following: +``` +yarn install +yarn start +``` +The server will run on http://localhost:8080/ +To actually build run `yarn build` +​ +## Django server +​ +Create a file called `.env` in the root directory of the cloned repo.
+Then store your SECRET_KEY and DEBUG variables in the file +​ +``` +SECRET_KEY="" can be any string +DEBUG=1 +``` +Then run +``` +pip install -r requirements.txt (should take a while) +python manage.py migrate +python manage.py runserver +``` +The server will run on http://localhost:8200/ +​ +​ +## Fullstack Server +There are 2 root directories, backend and frontend +In the `/frontend/` root directory, the rootApp and mainApp.
+Firstly in `/frontend/rootApp/`
+​ +1. Go to `/frontend/rootApp/src/index.ejs` +2. Go to line 33 and change `isLocal` to `!isLocal` PLEASE SWITCH IT BACK BEFORE PUSHING, IT SHOULD BE `isLocal`. +3. Then go back to `/frontend/rootApp/` and run `yarn relocate` +4. Then go to `/frontend/mainApp/` and run `yarn relocate` +5. Then you move to the `/backend/` root directory, run:
+`python manage.py collectstatic --noinput`
+6. Then run `python manage.py runserver`. +​ +​ +​ +​ +# Setting Up backend for Windows/Linux/Mac + +- [How to install Git on Windows, Linux and macOS](https://www.digitalocean.com/community/tutorials/how-to-contribute-to-open-source-getting-started-with-git) + +#### Windows,Linux,Mac + +- [How to install django on windows, linux , mac](https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/development_environment) +- from the command line +- Install django using 'pip install django' +- Check installed django version 'django-admin --version' + + +# Laws to follow while contributing (making a PR) +​ + 1. Please while in `/frontend/rootApp/src/index.ejs`, it should be `isLocal` not `!isLocal`. +​ + 2. Every new installation on the backend should be added to the requirements.txt file using the command pip freeze > requirements.txt +​ + 3. Users must have pulled from upstream to avoid conflicts +​ + 4. All new views should be documented with doc strings and comments where appropriate +​ + 5. Always check the source control on the sidebar of your VS-code and other text editors,also the files changed section of your commit/PR before requesting for merge files changed above 6 may not be merged without proper testing +​ +# Troubleshooting possible errors that may occur +​ + 1. SECRET_KEY not set error. This can be solved adding the SECRET_KEY and making sure that the .env file is in the project root like so + ``` + -backend + -frontend + -README.md + -.env +​ + ``` + 2. Error while installing requirements.txt. this means a particular package was not compatible with your system and this can be solved by rooting out the bad install and commenting it out from the requirements.txt +​ +​ +# For contact +
+If you need to contact anyone regarding issues you are facing as regards this repository, contact any of this people on the zuri-chat workspace(slack) **@ALASHI , @Khadeeejah , @Josephchinedu** +​ From b7289c510eedd1263d4319c8b3c7b95e6823efd1 Mon Sep 17 00:00:00 2001 From: Josh Date: Sat, 30 Oct 2021 11:20:47 +0100 Subject: [PATCH 08/13] Setup development get started documentation for chess plugin --- docs/development/chess/get_started.md | 151 ++++++++++++++++++++++++++ docs/development/chess/readme.md | 0 2 files changed, 151 insertions(+) create mode 100644 docs/development/chess/get_started.md delete mode 100644 docs/development/chess/readme.md diff --git a/docs/development/chess/get_started.md b/docs/development/chess/get_started.md new file mode 100644 index 0000000..680814a --- /dev/null +++ b/docs/development/chess/get_started.md @@ -0,0 +1,151 @@ +--- +slug: /chess +sidebar_position: 2 +title: Getting started +--- + +## Chess Plugin Overview +Zuri chesss plugin is a web based recreational and competitive board game that can be played between two players, that can easily be installed and used as part of the Zuri chat main application. Chess plugin is a monolith app with the Backend(Nodejs) and Frontend(JavaScript- React.js). The repo is divided into two major folders; Frontend - which utilizes Single SPA structure, and the Backend. + +- Live Link : [https://chess.zuri.chat](https://chess.zuri.chat) +- GitHub repo : [https://github.com/zurichat/zc_plugin_chessboard](https://github.com/zurichat/zc_plugin_chessboard) + +### Cloning the Repository + +1. Fork this repository https://github.com/zurichat/zc_plugin_chessboard +2. Open a terminal and clone the repository: `git clone https://github.com/zurichat/zc_plugin_chessboard.git` + +### Installing Dependencies + +1. Ensure nodejs and git are installed in your machine `node -v && git --version` + If they are not installed, you can follow the guide [here](#setting-up-for-windowslinuxmac) to install. +2. Change directory into the new clone. `cd zc_plugin_chessboard` +3. Switch to the backend directory and install all dependencies using + `cd backend` + `yarn install` or `npm install` +4. Switch to the frontend directory and install all packages using + `cd frontend` + `yarn install` or `npm install` + +### How to Run the App Locally + +1. Now to run both servers in development mode +- Run backend server + +``` +cd server +npm run dev or yarn run dev +``` + +Open http://127.0.0.1:5050/ +Open another terminal in vscode and run + +``` +cd client +npm start or yarn start +``` +Open http://127.0.0.1:3000/ + + +## Local Development + +### 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. +- `bug: Fixed plugin install endpoints` := `bug` is used here because a fix was done to an already existent feature. + +### Contribution Guide + +1. Open your cloned repo in your prefered code editor. +2. Open your terminal & set the upstream branch: `git remote add upstream https://github.com/zurichat/zc_plugin_chessboard.git` +3. Pull upstream `git pull upstream dev` +4. Create a new branch for the ticket you're working on e.g.: `git checkout -b ` +5. After making changes, run `git add .` +6. Commit your changes with a descriptive commit message : `git commit -m "your commit message"`. +7. To make sure there are no conflicts : `git pull upstream dev` +8. Push changes to your new branch : `git push origin ` +9. Create a pull request to the `dev` branch. + +### PR Guide + +1. Pull request (PR) should clearly state clearly state its purpose/task in the description. +2. PR should only touch files within its scope. **Do not** correct comment typos or change variable names in another file. Fix only what is needed to make your assigned ticket work. +3. Lint your files before making PRs. +4. Always pull and merge into latest upstream dev branch before making PRs to avoid merge conflicts. +5. Your PR must be approved by 2 PR approvers/mergers before it is merged. + +### Setting Up for Windows/Linux/Mac + +- [How to install Git on Windows, Linux and macOS](https://www.digitalocean.com/community/tutorials/how-to-contribute-to-open-source-getting-started-with-git) + +#### Windows + +- [How to install node.js](https://phoenixnap.com/kb/install-node-js-npm-on-windows) +- Install yarn using `npm install --global yarn` +- Check installed yarn version `yarn --version` + +#### macOS + +- [How to install node.js on macOS](https://www.webucator.com/article/how-to-install-nodejs-on-a-mac/) +- Install Yarn using `npm install --global yarn` or `brew install yarn` or `curl -o- -L https://yarnpkg.com/install.sh | bash` +- Check installed yarn version `yarn --version` + +#### Linux + +- [How to install node.js on Linux PC](https://linuxconfig.org/how-to-install-node-js-on-linux) +- Install yarn using `npm install --global yarn` + + or + +- Import the GPG key to verify the yarn packages: `curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -` + +- Enable the Yarn package manager repository: `echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list` + +- Then install the yarn package manager: `sudo apt update && sudo apt install yarn` + +- Check the installed yarn version: `yarn --version` + +## Troubleshooting + +### Possible Errors and Solutions + +| Error | Probable Cause | Solution | +| :--------------------------------------------------------------------------------------------------------------------------------- | ---------------------- | ---------------------------------------------------------------- | +| -bash: git: command not found

'git' is not recognized as an internal or external command, operable program, or batch file. | Git is not installed. | Install git. See guide [here.](#setting-up-for-windowslinuxmac) | +| 'yarn' is not recognized as an internal or external command, operable program or batch file. | yarn is not installed. | Install yarn. See guide [here.](#setting-up-for-windowslinuxmac) | + +### Contact + +If you have any questions, feel free to contact: + +- Team lead: + [Ndubuisi Jr](https://github.com/NdubuisiJr) + (Email: ndubuisijrchukuigwe@gmail.com; Slack workspace display name - **@ndubuisijr**) + diff --git a/docs/development/chess/readme.md b/docs/development/chess/readme.md deleted file mode 100644 index e69de29..0000000 From a82eac5891879c0fa806e385d1237b434eca37c5 Mon Sep 17 00:00:00 2001 From: Quemmies3 Date: Sat, 30 Oct 2021 12:31:29 +0100 Subject: [PATCH 09/13] Set up development get started documentation for dms plugin --- docs/development/dms/get_started.md | 107 ++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 docs/development/dms/get_started.md diff --git a/docs/development/dms/get_started.md b/docs/development/dms/get_started.md new file mode 100644 index 0000000..e332b14 --- /dev/null +++ b/docs/development/dms/get_started.md @@ -0,0 +1,107 @@ +--- +title: Zuri Chat DM Plugin +--- + +## GETTING STARTED + +## Quickstart + +### Overview + +This is a direct message (DM) plugin created to give the users of Zuri chat the ability to send private messages, messages in a group chat and use different functionalities such as emoji's, attach files, directly mention users in a chat, change fonts, use ordered lists, amongst other various functionalities to send messages. This plugin aims to serve the entire Zuri Chat. + + +### Forking And Cloning the Repository + +1. Navigate to this repository https://github.com/zurichat/zc_plugin_dm and click on the octa-spoon icon to fork the repo. +2. Once the repo is forked, copy the remote url of the repo by clicking on the button labelled code and clicking the file icon to copy the url. +3. Go to your desktop, open the git bash terminal and clone the repository using: `git clone git clone https://github.com/zurichat/zc_plugin_dm.git` + + +### Installing Dependencies + +1. Ensure nodejs and git are installed in your machine `node -v && git --version`. If they are not installed, you can follow the guide [here](#setting-up-for-windowslinuxmac) to install. +2. Change directory into the new clone using: `cd dmreactplugin` and `cd dmspa` +3. Install all packages and dependencies using `yarn install` + + +### Running The App Locally + +1. Run build script to get bundled react file using: `yarn build` +2. Now run server in development mode using: `yarn start` on both directories +3. Visit `http://localhost:9000/` or `http://localhost:9000/dm` + + +### Contribution Guide + +1. Open your git bash terminal of your cloned repository and set remote upstream using `git remote add upstream https://github.com/zurichat/zc_plugin_dm.git`. +2. CD into the Directory using: `cd dmreactplugin` and `cd dmspa` +2. Checkout to the development branch by running `git checkout dev` +3. Run `git pull upstream dev` to keep your branch updated with the upstream branch. +4. Create a new branch for the feature you want to work on using `git checkout -b feature-name` +5. After making changes, run `git add .` +6. Commit your changes with a descriptive commit message using : `git commit -m "your descriptive commit message"`. +7. To make sure there are no conflicts, pull from upstream using : `git pull upstream dev` +8. Push changes to your new branch : `git push origin feature-name` +9. Create a pull request to the `dev` branch on the repo on github. + +### PR Guide + +1. The task/purpose of your PR should be clearly stated in its description. +2. Do not touch files beyond the scope of your PR. Fix errors and ensure they are functioning properly before making a PR. **Do not** touch anything beyond your task. +3. If someone else's file/task is preventing yours from running or functioning properly, notify them and communicate properly before making amendments and ensure it doesn't break anything. +4. Ensure to always pull and merge into latest upstream dev branch before making PRs to avoid merge conflicts. +5. Your PR must be reviewed and approved by 2 reviwers before it is merged. + +### Setting Up for Windows/Linux/Mac + +- [How to install Git on Windows, Linux and macOS](https://www.digitalocean.com/community/tutorials/how-to-contribute-to-open-source-getting-started-with-git) + +#### Windows + +- [How to install node.js](https://phoenixnap.com/kb/install-node-js-npm-on-windows) +- Install yarn using `npm install --global yarn` +- Check installed yarn version `yarn --version` + +#### macOS + +- [How to install node.js on macOS](https://www.webucator.com/article/how-to-install-nodejs-on-a-mac/) +- Install Yarn using `npm install --global yarn` or `brew install yarn` or `curl -o- -L https://yarnpkg.com/install.sh | bash` +- Check installed yarn version `yarn --version` + +#### Linux + +- [How to install node.js on Linux PC](https://linuxconfig.org/how-to-install-node-js-on-linux) +- Install yarn using `npm install --global yarn` + + or + +- Import the GPG key to verify the yarn packages: `curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -` + +- Enable the Yarn package manager repository: `echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list` + +- Then install the yarn package manager: `sudo apt update && sudo apt install yarn` + +- Check the installed yarn version: `yarn --version` + +## Troubleshooting + +### Possible Errors and Solutions + +| Error | Probable Cause | Solution | +| :--------------------------------------------------------------------------------------------------------------------------------- | ---------------------- | ---------------------------------------------------------------- | +| -bash: git: command not found

'git' is not recognized as an internal or external command, operable program, or batch file. | Git is not installed. | Install git. See guide [here.](#setting-up-for-windowslinuxmac) | +| 'yarn' is not recognized as an internal or external command, operable program or batch file. | yarn is not installed. | Install yarn. See guide [here.](#setting-up-for-windowslinuxmac) | + +### Contact + +If you have any questions, feel free to contact any of these people: + +- Team lead: + [Mukhtar](https://github.com/mukhtarB) + +- Frontend Lead: + [Benjee](https://github.com/benjamin-bala) + +- Backend Lead: + [ZXenon](https://github.com/zxenonx) From 3219b4459b54150a55ce7edf56ea07908c3bbfb1 Mon Sep 17 00:00:00 2001 From: Oluwagbamila Boluwatife Date: Mon, 1 Nov 2021 06:27:32 +0100 Subject: [PATCH 10/13] created get started document for zuri core --- docs/development/zuriCore/get_started.md | 96 ++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 docs/development/zuriCore/get_started.md diff --git a/docs/development/zuriCore/get_started.md b/docs/development/zuriCore/get_started.md new file mode 100644 index 0000000..d213a10 --- /dev/null +++ b/docs/development/zuriCore/get_started.md @@ -0,0 +1,96 @@ +# Zuri Core + +`Zuri Core` is the **backbone** of Zuri Chat, it uses the Golang laguage. It is the main backend language of the entire application. It provides all the endpoints for the application. + +Here's a quick guide on how to contribute to `Zuri Core` + +## Quickstart:  + +Visit the repo , clone or fork the main branch, create your local environment using the `.envexample`, run the codebase locally with: `go run main.go` or `make run`. If you would prefer to build first, run `go build`. + +### How to fork the repo:  + +Visit the repo  on github and click on the fork button at the top right corner of your screen + +### How to clone the repo:  + +On your Terminal run:  + +```bash +git clone https://github.com/zurichat/zc_core.git +``` + +### Install dependencies:  + +The dependencies will automatically be installed when you start the server with `go run main.go` or `make run`. You can also decided to run `go install ./...` or `make install` to install dependencies. + +### How to run the app locally/build:  + +To run the app locally, install `go` on your laptop and set it up. Go further by setting it up on your code editor. You can set it up on vscode, using go vscode extension. You can google how to set it up on other IDEs + +Run `go run main.go` or `make run` to start the server, and `go build -o bin/main main.go` or `make build`, if you need to create a build. + +### How to run tests:  + +Run `make test.unit` or make `test.integration` to run either unit or integration tests + +### Additional resources:  + +For additional resources on `git` and `go` you can watch some tutorials on youtube + +### Local development:  + +While developing locally, you will need to use personalized env data, like mongodb cluster and several others stated in the example env + +### Tests that have been setup:  + +We currently have tests setup for organization module, auth module, plugin module, and a golang-ci lint test + +#### Linting:  + +To get started with linting install the golang-ci lint with:  + +```bash +go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.42.1 +``` + + or `make install_lint` and afterwards you can run the lint with: `golangci-lint run` or `make run` + +### Procedures to follow and laws not to break before pushing to make PR:  + +When making a PR ensure you adhere to the following: +- Ensure everyone on the team expecially the team lead is aware of what you are working on +- You have pulled from the upstream and resolved all resolving conflicts +- You have ensure that your changes do not affect folders outside it's scope. E.g, when working on auth feature, ensure you make no changes to other modules excpet auth module +- Ensure you work runs properly on your local server +- Ensure your work does not negatively affect another feature +- Ensure you have properly linted your work +- Lastly ensure you are not affecting too many files or making too many changes + +### Setup for different operating systems:  + +The codebase works the same on all operating systems as long as you have `go` installed. + +### Errors:  + +Incase of any errors running the codebase while getting started, please contact any member of the team + +### Contact + +If you have any questions, feel free to contact any of these people: + +- Team lead: + +  Jubril Aminu + +  Email:  + +  Slack workspace display name - **@jb**) + +  **OR** + +- Nwokoye Chigozie Gregory + +  Email:  + +  Slack workspace display name - **@grego**) \ No newline at end of file From bef58638c43632a88b27e41f2c043eff337bbdc6 Mon Sep 17 00:00:00 2001 From: Boluwatt <69689649+Boluwatt@users.noreply.github.com> Date: Tue, 2 Nov 2021 10:30:46 +0100 Subject: [PATCH 11/13] Deleted Flutter readme.md --- .../development/mobileApps(flutter)/readme.md | 95 ------------------- 1 file changed, 95 deletions(-) delete mode 100644 docs/development/mobileApps(flutter)/readme.md diff --git a/docs/development/mobileApps(flutter)/readme.md b/docs/development/mobileApps(flutter)/readme.md deleted file mode 100644 index 6392d78..0000000 --- a/docs/development/mobileApps(flutter)/readme.md +++ /dev/null @@ -1,95 +0,0 @@ -## Zuri Chat Mobile Application - -## QuickStart - ## Overview - This is the **Zuri Chat** Android app project repository handled by **_TEAM SOCRATES_**, written with pure [Flutter](https://flutter.dev/). - -Flutter™ is Google’s UI toolkit for building building applications for mobile, web, and desktop from one single codebase. Flutter relies on the dart programming language and uses a compiler for natively building applications for the various target platforms. - -## Setup for different operating systems -**Download And Install The Flutter SDK** - First step is to setup the Flutter development environment. The SDK is available for the following platforms: - - Windows - - macOS - - Linux - **Setup for windows** - - - -## How to create PRs to contribute to the zuri chat mobile application repository -**_Steps to collaborate on the repository for team members._** - ### Forking and Cloning Repo - * Fork the project. - * Click on the "Code" button on the Repo page. - * Copy the URL for the forked Repo "https://github.com/your-github-username/zc_app.git" - * Open your Code Editor and run `git clone` "https://github.com/your-github-username/zc_app.git" - - ### _Add "Remote To" and "Pull From" Upstream_ - * Add a Remote to Upstream to your Repo: - Using the command : `git remote add upstream` ` "https://github.com/Valenteeena/zc_plugin_channels" ` - * Pull from upstream to download all changes in the project using `git pull upstream develop` - - - ### _Complete assigned task/issue_ - * Open the project in your IDE or Code Editor. - * Complete your assigned task. - - - ### _Create and Commit Changes to a New Branch_ - When your task is completed: - * Create a new branch with your task name e.g "feat- UserSignUP". - * run: `git checkout -b feat/yourTask` - **Push to github;** - * `git add .` - * `git commit -m "feat: Inplemented yourTask"` - - ### Push New Branch to "Origin" Repository - * To make sure there are no conflict, Pull from upstream using `git pull upstream develop` - * Push your branch changes to the Repo using `git push origin "feat/yourTask"` note how it end with a branch. - - ### Creating Pull Request - **When making a PR, your PR is expected to have the following comments"** - * What is the task/issue completed? - * What does the PR actually do? - * How can the PR be manually tested? - * Screenshots(of your implementation - A mobile screen or an APi payload). - - - ### Directory stucture - You can check out this [document](https://docs.google.com/document/d/17uBPEtzHiTRo2lDhHdEHqlZzeCxYRwaqkvHIc9VluNE/edit?usp=sharing) for further information on the architecture. - -## How to run the app locally/build - -## How to run tests - -## Additional Resources - -## Local development - -## Tests that have been setup - -## Procedures/Laws to follow before pushing to make a PR - ## Code Style - **i. Naming Convention:** - -|Naming Convention|Effective Style|Example| -|-----------------|---------------|-------| -|Classes, enum types,typedefs,and type parameters,etensions|PascalCase|An example is HomeScreen| -|Libraries, packages, directories, and source files, import prefixes|snake_case|An example is home_screen| -|Class members, top-level definitions, variables, parameters, and named parameters, constants|camelCase|An example is verifiedUser| - - - - **ii. Style Rule** - * Always declare return types in your methods. - * Put required named parameters first. - * Always require non-null named parameters (@required). - * Indent your code where appropriate `(e.g Use two-space indentation.)` - Click [Here](https://docs.google.com/document/d/1kgVwGVgKrMXKgxuMowgqsBkFXsJdli-4Zl-oP_NZFoI/edit "Github home") to know more - - -## Troubleshooting - -## Possible errors that may happen and solutions to the errors - -## Who or where to go in case of certain errors \ No newline at end of file From 79a010a0e17f0d0f72c0ee3b77ee43404e68d211 Mon Sep 17 00:00:00 2001 From: Boluwatt <69689649+Boluwatt@users.noreply.github.com> Date: Tue, 2 Nov 2021 10:31:24 +0100 Subject: [PATCH 12/13] Deleted todo readme.md --- docs/development/todo/readme.md | 160 -------------------------------- 1 file changed, 160 deletions(-) delete mode 100644 docs/development/todo/readme.md diff --git a/docs/development/todo/readme.md b/docs/development/todo/readme.md deleted file mode 100644 index 2318bfc..0000000 --- a/docs/development/todo/readme.md +++ /dev/null @@ -1,160 +0,0 @@ ---- -slug: /todo -sidebar_position: 12 -title: Todo Plugin ---- - -## TODO PLUGIN DEVELOPER ON-BOARDING OVERVIEW -Zuri Todo plugin is a web based project management system that can be used by organizations and for personal use. This is a part of Zuri Chat. Todo plugin is a monolith app with the Backend(PHP-Laravel) and Frontend(JavaScript-Vue.js). The repo is divided into two major folders; Frontend - which is done in Single SPA, and the Backend. - -- Live Link : [https://zuri.chat/todo#/](https://zuri.chat/todo#/) -- GitHub repo : [https://github.com/zurichat/zc_plugin_todo](https://github.com/zurichat/zc_plugin_todo) - -### TABLE OF CONTENT : Quick reference - -- [TODO PLUGIN DEVELOPER ON-BOARDING OVERVIEW](#todo-plugin-developer-on-boarding-overview) - - [TABLE OF CONTENT: Quick reference](#table-of-content-quick-reference) - - [Get Started](#get-started) - - [Running Todo Plugin Locally on Windows OS](#running-todo-plugin-locally-on-windows-os) - - [For Backend](#for-backend) - - [For Frontend](#for-frontend) - - [Running Todo Plugin Locally on Linux OS](#running-todo-plugin-locally-on-linux-os) - - [For Backend](#for-backend) - - [For Frontend](#for-frontend) - - [Running Todo Plugin Locally on macOS](#running-todo-plugin-locally-on-macos) - - [For Backend](#for-backend) - - [For Frontend](#for-frontend) - - ### Get Started - As a new develoer about to work on this project, you first have to fork and clone the GitHub Repo [https://github.com/zurichat/zc_plugin_todo](https://github.com/zurichat/zc_plugin_todo) - -### Running Todo Plugin Locally On Windows OS -#### For Backend -First, Fork and clone the GitHub on your local computer. Open powershell or git bash and run the following commands -```bash -cd zc_plugin_todo - -composer install -``` -This would generate the needed files to run on local machine, to serve the application run -```bash -php artisan serve -``` -This serves on a port 8080. - -#### For Frontend -After forking and cloning the GitHub, run it on VS code, then run windows powershell or Git bash. Run the following comands -```bash -cd frontend -``` -then; -```bash -yarn install -``` -when yarn is done installing, you run this command -```bash -yarn serve -``` -while this is running, create another git bash and run; -This is done because the frontend is a microfrontend so the config folder must be set up too - -```bash -cd Config -``` -then; -```bash -yarn install -``` -when it's done, run -```bash -yarn serve -``` -The project will now on port 9000. - - -### Running Todo Plugin Locally on Linux OS -#### For Backend - First, Fork and clone the GitHub on your local computer. Open terminal and run the following commands -```bash -cd zc_plugin_todo - -composer install -``` -This would generate the needed files to run on local machine, to serve the application run -```bash -php artisan serve -``` -This serves on a port 8080. - -#### For Frontend -After forking and cloning the GitHub, run it on VS code, then run terminal. Run the following comands -```bash -cd frontend -``` -then; -```bash -yarn install -``` -when yarn is done installing, you run this command -```bash -yarn serve -``` -while this is running, create another git bash and run; -This is done because the frontend is a microfrontend so the config folder must be set up too - -```bash -cd Config -``` -then; -```bash -yarn install -``` -when it's done, run -```bash -yarn serve -``` -The project will now on port 9000. - - -### Running Todo Plugin Locally on macOS -#### For Backend - First, Fork and clone the GitHub on your local computer. Open terminal and run the following commands -```bash -cd zc_plugin_todo - -composer install -``` -This would generate the needed files to run on local machine, to serve the application run -```bash -php artisan serve -``` -This serves on a port 8080. - -#### For Frontend -After forking and cloning the GitHub, run it on VS code, then run terminal. Run the following comands -```bash -cd frontend -``` -then; -```bash -yarn install -``` -when yarn is done installing, you run this command -```bash -yarn serve -``` -while this is running, create another git bash and run; -This is done because the frontend is a microfrontend so the config folder must be set up too - -```bash -cd Config -``` -then; -```bash -yarn install -``` -when it's done, run -```bash -yarn serve -``` -The project will now on port 9000. \ No newline at end of file From 79a4a733f14dd13f2caaa241a170f906ebaa4711 Mon Sep 17 00:00:00 2001 From: Boluwatt <69689649+Boluwatt@users.noreply.github.com> Date: Tue, 2 Nov 2021 10:32:37 +0100 Subject: [PATCH 13/13] Deleted zurimain readme.md --- docs/development/zuriMain/readme.md | 75 ----------------------------- 1 file changed, 75 deletions(-) delete mode 100644 docs/development/zuriMain/readme.md diff --git a/docs/development/zuriMain/readme.md b/docs/development/zuriMain/readme.md deleted file mode 100644 index b5a5b95..0000000 --- a/docs/development/zuriMain/readme.md +++ /dev/null @@ -1,75 +0,0 @@ -# Zuri Main Contribution Guide - -## QuickStart -To get started with contributing to this repo, - -1. First of you need to fork the repo at [Zuriman](https://github.com/zurichat/zc_main) - -2. Clone it to your local machine with the following command: - -``` - git clone https://github.com//zc_main -``` - -3. Run `yarn install` in the root folder to install all the dependencies for this project, make sure you have the latest version of [Node](https://www.nodejs.org) and [Yarn](https://www.yarn.org) installed - -4. Then run `yarn dev` to run the app locally, the app should be available on port `9000` of your local machine - - - -5. Extra Information - 1. Building - ``` - yarn build - ``` - - 2. To remove dist folder - - ``` - yarn clean - ``` - - 3. To remove all node_modules - - ``` - yarn clean-fresh - ``` - - 4. We're using eslint for js linting, and prettier for code formatting, make sure you install [eslint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) and [prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) plugins in your editor so you can see linting errors as you code and have your code formatted on save by prettier. If formatOnSave doesn't work please google how to set up format on save for the eslint & prettier plugins in your editor 🙃 - -7. Additional resources - 1. Nodejs - https://www.nodejs.org - 2. Yarn - https://yarnpkg.com/ - 3. eslint for vscode - https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint - 4. Git - https://git-scm.com/downloads - 5. Prettier vscode - https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode - 6. [STYLING GUIDE](https://github.com/zurichat/zc_main/blob/dev/docs/STYLING.md) - 7. [CONTRIBUTION GUIDE](https://github.com/zurichat/zc_main/blob/dev/docs/CONTRIBUTING.md) - -## Local Development - - - -1. Procedures to follow and laws not to break before making a PR - ### Before send PR or making a merge make sure you code is properly formatted. You can easily do that by running - - ``` - yarn lint # to lint all files # in project directory - yarn lint:js # to lint only js,jsx files # in project directory - - yarn prettify # to prettify files # in project directory - ``` - you can also lint for all files in the repo by running that command in the root folder. - - - - - -## Troubleshooting - - - -2. Who or where to go incase of certain errors - 1. `@Obifortune` on the ZuriChat Slack workspace - 2. `@Pidoxy` on the ZuriChat Slack workspace -### This documentation was written by [lekandev](https://lekan.vercel.app) 🙂