diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
deleted file mode 100644
index d64ca6b40..000000000
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-name: Bug report
-about: Create a report to help us improve
-title: "[BUG]"
-labels: bug
-assignees: ''
-
----
-
-### Describe the bug
-
-Write here a clear and concise description of what the bug is.
-
-### To Reproduce
-
-Steps to reproduce the behavior with a minimum self-contained file.
-
-Replace each part with your own scenario:
-
-1. Create a file with:
-
-```Python
-from fastapi import FastAPI
-
-app = FastAPI()
-
-
-@app.get("/")
-def read_root():
- return {"Hello": "World"}
-```
-
-3. Open the browser and call the endpoint `/`.
-4. It returns a JSON with `{"Hello": "World"}`.
-5. But I expected it to return `{"Hello": "Sara"}`.
-
-### Expected behavior
-
-Add a clear and concise description of what you expected to happen.
-
-### Screenshots
-
-If applicable, add screenshots to help explain your problem.
-
-### Environment
-
-- OS: [e.g. Linux / Windows / macOS]
-- FastAPI Version [e.g. 0.3.0], get it with:
-
-```bash
-python -c "import fastapi; print(fastapi.__version__)"
-```
-
-- Python version, get it with:
-
-```bash
-python --version
-```
-
-### Additional context
-
-Add any other context about the problem here.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
index 15b94028e..75c02cc1f 100644
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -1,26 +1,104 @@
---
name: Feature request
about: Suggest an idea for this project
-title: "[FEATURE]"
+title: ""
labels: enhancement
assignees: ''
---
-### Is your feature request related to a problem
+### First check
-Is your feature request related to a problem?
+* [ ] I added a very descriptive title to this issue.
+* [ ] I used the GitHub search to find a similar issue and didn't find it.
+* [ ] I searched the FastAPI documentation, with the integrated search.
+* [ ] I already searched in Google "How to X in FastAPI" and didn't find any information.
+* [ ] I already read and followed all the tutorial in the docs and didn't find an answer.
+* [ ] I already checked if it is not related to FastAPI but to [Pydantic](https://github.com/samuelcolvin/pydantic).
+* [ ] I already checked if it is not related to FastAPI but to [Swagger UI](https://github.com/swagger-api/swagger-ui).
+* [ ] I already checked if it is not related to FastAPI but to [ReDoc](https://github.com/Redocly/redoc).
+* [ ] After submitting this, I commit to:
+ * Read open issues with questions until I find 2 issues where I can help someone and add a comment to help there.
+ * Or, I already hit the "watch" button in this repository to receive notifications and I commit to help at least 2 people that ask questions in the future.
+ * Implement a Pull Request for a confirmed bug.
-Add a clear and concise description of what the problem is. Ex. I want to be able to [...] but I can't because [...]
+
+
+### Example
+
+Here's a self-contained [minimal, reproducible, example](https://stackoverflow.com/help/minimal-reproducible-example) with my use case:
+
+
+
+```Python
+from fastapi import FastAPI
+
+app = FastAPI()
+
+
+@app.get("/")
+def read_root():
+ return {"Hello": "World"}
+```
+
+### Description
+
+
+
+* Open the browser and call the endpoint `/`.
+* It returns a JSON with `{"Hello": "World"}`.
+* I would like it to have an extra parameter to teleport me to the moon and back.
### The solution you would like
-Add a clear and concise description of what you want to happen.
+
+
+I would like it to have a `teleport_to_moon` parameter that defaults to `False`, and can be set to `True` to teleport me:
+
+```Python
+from fastapi import FastAPI
+
+app = FastAPI()
+
+
+@app.get("/", teleport_to_moon=True)
+def read_root():
+ return {"Hello": "World"}
+```
### Describe alternatives you've considered
-Add a clear and concise description of any alternative solutions or features you've considered.
+
+
+To wait for Space X moon travel plans to drop down long after they release them. But I would rather teleport.
+
+### Environment
+
+* OS: [e.g. Linux / Windows / macOS]:
+* FastAPI Version [e.g. 0.3.0]:
+
+To know the FastAPI version use:
+
+```bash
+python -c "import fastapi; print(fastapi.__version__)"
+```
+
+* Python version:
+
+To know the Python version use:
+
+```bash
+python --version
+```
### Additional context
-Add any other context or screenshots about the feature request here.
+
diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md
index e7466133b..c49538916 100644
--- a/.github/ISSUE_TEMPLATE/question.md
+++ b/.github/ISSUE_TEMPLATE/question.md
@@ -1,24 +1,81 @@
---
-name: Question
-about: Ask a question
-title: "[QUESTION]"
+name: Question or Problem
+about: Ask a question or ask about a problem
+title: ""
labels: question
-assignees: ''
+assignees: ""
---
### First check
+* [ ] I added a very descriptive title to this issue.
* [ ] I used the GitHub search to find a similar issue and didn't find it.
* [ ] I searched the FastAPI documentation, with the integrated search.
* [ ] I already searched in Google "How to X in FastAPI" and didn't find any information.
+* [ ] I already read and followed all the tutorial in the docs and didn't find an answer.
+* [ ] I already checked if it is not related to FastAPI but to [Pydantic](https://github.com/samuelcolvin/pydantic).
+* [ ] I already checked if it is not related to FastAPI but to [Swagger UI](https://github.com/swagger-api/swagger-ui).
+* [ ] I already checked if it is not related to FastAPI but to [ReDoc](https://github.com/Redocly/redoc).
+* [ ] After submitting this, I commit to one of:
+ * Read open issues with questions until I find 2 issues where I can help someone and add a comment to help there.
+ * I already hit the "watch" button in this repository to receive notifications and I commit to help at least 2 people that ask questions in the future.
+ * Implement a Pull Request for a confirmed bug.
+
+
+
+### Example
+
+Here's a self-contained, [minimal, reproducible, example](https://stackoverflow.com/help/minimal-reproducible-example) with my use case:
+
+
+
+```Python
+from fastapi import FastAPI
+
+app = FastAPI()
+
+
+@app.get("/")
+def read_root():
+ return {"Hello": "World"}
+```
### Description
-How can I [...]?
+
+
+* Open the browser and call the endpoint `/`.
+* It returns a JSON with `{"Hello": "World"}`.
+* But I expected it to return `{"Hello": "Sara"}`.
+
+### Environment
+
+* OS: [e.g. Linux / Windows / macOS]:
+* FastAPI Version [e.g. 0.3.0]:
+
+To know the FastAPI version use:
+
+```bash
+python -c "import fastapi; print(fastapi.__version__)"
+```
+
+* Python version:
+
+To know the Python version use:
-Is it possible to [...]?
+```bash
+python --version
+```
### Additional context
-Add any other context or screenshots about the question here.
+
diff --git a/docs/en/docs/css/custom.css b/docs/en/docs/css/custom.css
index 94bdbed43..b7de5e34e 100644
--- a/docs/en/docs/css/custom.css
+++ b/docs/en/docs/css/custom.css
@@ -11,3 +11,8 @@ a.internal-link::after {
*/
content: "\00A0βͺ";
}
+
+/* Give space to lower icons so Gitter chat doesn't get on top of them */
+.md-footer-meta {
+ padding-bottom: 2em;
+}
diff --git a/docs/en/docs/help-fastapi.md b/docs/en/docs/help-fastapi.md
index c1a7d918a..aed3ed6f6 100644
--- a/docs/en/docs/help-fastapi.md
+++ b/docs/en/docs/help-fastapi.md
@@ -12,28 +12,18 @@ And there are several ways to get help too.
## Star **FastAPI** in GitHub
-You can "star" FastAPI in GitHub (clicking the star button at the top right): https://github.com/tiangolo/fastapi.
+You can "star" FastAPI in GitHub (clicking the star button at the top right): https://github.com/tiangolo/fastapi. βοΈ
By adding a star, other users will be able to find it more easily and see that it has been already useful for others.
## Watch the GitHub repository for releases
-You can "watch" FastAPI in GitHub (clicking the "watch" button at the top right): https://github.com/tiangolo/fastapi.
+You can "watch" FastAPI in GitHub (clicking the "watch" button at the top right): https://github.com/tiangolo/fastapi. π
There you can select "Releases only".
Doing it, you will receive notifications (in your email) whenever there's a new release (a new version) of **FastAPI** with bug fixes and new features.
-## Join the chat
-
-
-
-
-
-Join the chat on Gitter: https://gitter.im/tiangolo/fastapi.
-
-There you can ask quick questions, help others, share ideas, etc.
-
## Connect with the author
You can connect with me (SebastiΓ‘n RamΓrez / `tiangolo`), the author.
@@ -45,39 +35,32 @@ You can:
* Follow me to see when I create a new Open Source project.
* Follow me on **Twitter**.
* Tell me how you use FastAPI (I love to hear that).
- * Ask questions.
+ * Hear when I make announcements or release new tools.
* Connect with me on **Linkedin**.
- * Talk to me.
- * Endorse me or recommend me :)
-* Read what I write (or follow me) on **Medium**.
- * Read other ideas, articles and tools I have created.
- * Follow me to see when I publish something new.
+ * Hear when I make announcements or release new tools (although I use Twitter more often π€·ββ).
+* Read what I write (or follow me) on **Dev.to** or **Medium**.
+ * Read other ideas, articles, and about tools I have created.
+ * Follow me to read when I publish something new.
## Tweet about **FastAPI**
-Tweet about **FastAPI** and let me and others know why you like it.
-
-## Let me know how are you using **FastAPI**
+Tweet about **FastAPI** and let me and others know why you like it. π
I love to hear about how **FastAPI** is being used, what have you liked in it, in which project/company are you using it, etc.
-You can let me know:
-
-* On **Twitter**.
-* On **Linkedin**.
-* On **Medium**.
-
## Vote for FastAPI
* Vote for **FastAPI** in Slant.
+* Vote for **FastAPI** in AlternativeTo.
+* Vote for **FastAPI** on awesome-rest.
## Help others with issues in GitHub
-You can see existing issues and try and help others.
+You can see existing issues and try and help others, most of the times they are questions that you might already know the answer for. π€
## Watch the GitHub repository
-You can "watch" FastAPI in GitHub (clicking the "watch" button at the top right): https://github.com/tiangolo/fastapi.
+You can "watch" FastAPI in GitHub (clicking the "watch" button at the top right): https://github.com/tiangolo/fastapi. π
If you select "Watching" instead of "Releases only", you will receive notifications when someone creates a new issue.
@@ -87,9 +70,10 @@ Then you can try and help them solving those issues.
You can create a new issue in the GitHub repository, for example to:
-* Report a bug/issue.
+* Ask a question or ask about a problem.
* Suggest a new feature.
-* Ask a question.
+
+**Note**: if you create an issue then I'm going to ask you to also help others. π
## Create a Pull Request
@@ -100,12 +84,39 @@ You can
+
+
+
+Join the chat on Gitter: https://gitter.im/tiangolo/fastapi.
+
+There you can have quick conversations with others, help others, share ideas, etc.
+
+But have in mind that as it allows more "free conversation", it's easy to ask questions that are too general and more difficult to answer, so, you might not receive answers.
+
+In GitHub issues the template will guide to to write the right question so that you can more easily get a good answer, or even solve the problem yourself even before asking. And in GitHub I can make sure I always answer everything, even if it takes some time. I can't personally do that with the Gitter chat. π
+
+Conversations in Gitter are also not as easily searchable as in GitHub, so questions and answers might get lost in the conversation.
+
+On the other side, there's more than 1000 people in the chat, so there's a high chance you'll find someone to talk to there, almost all the time. π
+
## Sponsor the author
You can also financially support the author (me) through GitHub sponsors.
There you could buy me a coffee βοΈ to say thanks π.
+## Sponsor the tools that power FastAPI
+
+As you have seen in the documentation, FastAPI stands on the shoulders of giants, Starlette and Pydantic.
+
+You can also sponsor:
+
+* Samuel Colvin (Pydantic)
+* Encode (Starlette, Uvicorn)
+
---
-Thanks!
+Thanks! π