From 0c3a9b80dfd9119385400a88b457bca8f7d5f036 Mon Sep 17 00:00:00 2001 From: wiseaidev Date: Wed, 14 Dec 2022 10:39:17 +0200 Subject: [PATCH 1/2] add arch pic, contrib guide, github issue and PR temp, workflows... Signed-off-by: wiseaidev --- .github/ISSUE_TEMPLATE/bug.md | 37 ++++++++++++ .github/ISSUE_TEMPLATE/feature.md | 22 +++++++ .github/PULL_REQUEST_TEMPLATE.md | 13 ++++ .github/dependabot.yml | 19 ++++++ .github/workflows/dependency-review.yml | 20 +++++++ CONTRIBUTING.md | 76 ++++++++++++++++++++++++ README.md | 2 +- static/architecture.jpg | Bin 0 -> 50891 bytes 8 files changed, 188 insertions(+), 1 deletion(-) create mode 100644 .github/ISSUE_TEMPLATE/bug.md create mode 100644 .github/ISSUE_TEMPLATE/feature.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/dependency-review.yml create mode 100644 CONTRIBUTING.md create mode 100644 static/architecture.jpg diff --git a/.github/ISSUE_TEMPLATE/bug.md b/.github/ISSUE_TEMPLATE/bug.md new file mode 100644 index 0000000..f68d47f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.md @@ -0,0 +1,37 @@ +--- +name: Bug +about: "[Bug \U0001F41B]: Create a bug report for Moerphous." +title: "[\U0001F41B Bug]: Bug Title." +labels: needs triage +assignees: wiseaidev + +--- + +**👶 Getting Started** +Please [search the history](https://github.com/moerphous/moerphous-server/issues) to see if an issue already exists for the same problem. +- [ ] I have searched the existing issues. +- [ ] I have tested the latest version. + +**📝 Describe the bug** +Please provide a summary of what this issue is all about. Thanks for contributing by creating an issue! ❤️ + +**🕹 Steps to reproduce** +Please provide a link to a live example and an unambiguous set of steps to reproduce this bug. You can click the deploy button to provide a live reproduction case. + +Link to live example: +Steps: +1. +2. +3. + +**😯 Current behavior** +A clear and concise description of what you expected to happen. + +**🤔 Expected behavior** +Describe what should happen. + +**📸 Screenshots** +If applicable, add screenshots to help explain your problem. + +**🔦 Additional context** +What are you trying to accomplish? How has this issue affected you? Providing context helps us come up with a solution that is more useful in the real world. diff --git a/.github/ISSUE_TEMPLATE/feature.md b/.github/ISSUE_TEMPLATE/feature.md new file mode 100644 index 0000000..15ecf97 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature.md @@ -0,0 +1,22 @@ +--- +name: feature +about: "[Feature\U0001F484]: Suggest a new idea for Brave Chat Server." +title: "[\U0001F484Feature]: Feature title." +labels: needs triage +assignees: wiseaidev + +--- + +**👶 Getting Started** +Please [search the history](https://github.com/moerphous/moerphous-server/issues) to see if an issue already exists for the same problem. +- [ ] I have searched the existing issues. +- [ ] I have tested the latest version. + +**📝 Describe the feature** +Please provide a detailed explanation of what this feature is all about. Thanks for contributing by creating an issue! ❤️ + +**📸 Screenshots** +Please provide screenshots of the expected feature, if applicable. + +**🔦 Context** +What are you trying to accomplish? How has the lack of this feature affected you? Providing context helps us come up with a solution that is more useful in the real world. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..dd44762 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,13 @@ +## What was wrong? + +Related to # +Closes # + +## How was it fixed? + + +## Todo: + +- [ ] I have followed (at least) the [PR section of the contributing guide](https://github.com/moerphous/moerphous-server/blob/main/CONTRIBUTING.md#-pull-request-guidelines). + +## Cute Animal Picture diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..d8e3ee1 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,19 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + reviewers: + - "wiseaidev" + - package-ecosystem: "pip" + directory: "/" + schedule: + interval: "weekly" + reviewers: + - "wiseaidev" diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml new file mode 100644 index 0000000..b0dedc4 --- /dev/null +++ b/.github/workflows/dependency-review.yml @@ -0,0 +1,20 @@ +# Dependency Review Action +# +# This Action will scan dependency manifest files that change as part of a Pull Request, surfacing known-vulnerable versions of the packages declared or updated in the PR. Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable packages will be blocked from merging. +# +# Source repository: https://github.com/actions/dependency-review-action +# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement +name: 'Dependency Review' +on: [pull_request] + +permissions: + contents: read + +jobs: + dependency-review: + runs-on: ubuntu-latest + steps: + - name: 'Checkout Repository' + uses: actions/checkout@v3 + - name: 'Dependency Review' + uses: actions/dependency-review-action@v3 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..c4c2c30 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,76 @@ +# 🌍 Contributing. + +Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given. + +## 👶 Getting Started! + +Ready to contribute? Here's how to set up `moerphous-server` for local development. + +1. Fork the `moerphous-server` repo on GitHub. +2. Clone your fork locally: + +```sh +git clone git@github.com:your_name_here/moerphous-server.git +``` +3. Create a virtualenv with make: + +```sh +make venv +``` + +4. Activate the virtualenv: + +```sh +source .venv/bin/activate +``` + +5. Install the main dependencies into the virtualenv using poetry and make. Assuming you have poetry installed, this is how you set up your fork for local development: + +```sh +make install +``` + +**Note**: _This command will automatically generate a `.env` file from `.env.example`, uninstall the old version of poetry on your machine, then install latest version `1.2.2`, and install the required main dependencies._ + +6. Create a branch for local development: + +```sh +git checkout -b name-of-your-bugfix-or-feature +``` + +Now you can make your changes locally. + +7. When you're done making changes, check that your changes pass tox tests, including testing other Python versions with make: + +```sh +make test-all +``` + +8. Commit your changes and push your branch to GitHub: + +```sh +git add . +git commit -m "Your detailed description of your changes." +git push origin name-of-your-bugfix-or-feature +``` + +9. Submit a pull request through the GitHub website. + +## 📙 Pull Request Guidelines. + +Before you submit a pull request, check that it meets these guidelines: + +1. The pull request should include tests, if possible. +2. The pull request should work for Python 3.9.10. Check and make sure that the tests pass for all supported Python versions. + +## 💡 Tips. + +To run a subset of tests: + +```sh +make test +make lint +make coverage +``` + +Thank you for helping us improve! diff --git a/README.md b/README.md index 339c64a..b48717f 100755 --- a/README.md +++ b/README.md @@ -192,7 +192,7 @@ For development purposes, you can use openapi to interact with the endpoints. To As you can notice, the default openapi authorization form has been customized to authenticate wallets using only an access token. -- Now you can interact with any endpoints that require authorization. +- Now you can interact with any endpoint that require authentication. ![wallet info](./static/wallet-info.png) diff --git a/static/architecture.jpg b/static/architecture.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d33415a22981af52db3b8de0305a616c32cc561f GIT binary patch literal 50891 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Ω8cTgH1{p4#BCiyNj_LHF&qer2#l1r6N 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

1zT^ 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 K|LV71bi<5 literal 0 HcmV?d00001 From dd93c165f0ee7e4dbbde6dec11258a04dfbd810c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 14 Dec 2022 08:40:24 +0000 Subject: [PATCH 2/2] Bump starlette from 0.21.0 to 0.23.1 Bumps [starlette](https://github.com/encode/starlette) from 0.21.0 to 0.23.1. - [Release notes](https://github.com/encode/starlette/releases) - [Changelog](https://github.com/encode/starlette/blob/master/docs/release-notes.md) - [Commits](https://github.com/encode/starlette/compare/0.21.0...0.23.1) --- updated-dependencies: - dependency-name: starlette dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 6090884..992cb3f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -30,7 +30,7 @@ requests==2.28.1 rfc3986[idna2008]==1.5.0 six==1.16.0 sniffio==1.3.0 -starlette==0.21.0 +starlette==0.23.1 types-deprecated==1.2.9 typing-extensions==4.4.0 urllib3==1.26.13