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

Add season of docs project ideas page #1214

Merged
merged 1 commit into from
Apr 20, 2020
Merged
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
114 changes: 114 additions & 0 deletions docs/_docs/season_of_docs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
---
category: documentation
---

# 2020 Season of Docs

![Google Season of Docs](https://developers.google.com/season-of-docs/images/logo/SeasonofDocs_Logo_SecondaryGrey_300ppi.png "Season of Docs")

This year the gRPC-Gateway is participating in the [Google Season of Docs](https://g.co/seasonofdocs).
We're excited to see what contributions this will bring to our documentation.

## Project details

- Organization name: **gRPC-Gateway**
- Organization description: The gRPC-Gateway brings the power and safety
of designing APIs with Protobuf and gRPC to the JSON/HTTP API world. It has several
common use cases:
- When a user wants to migrate an API to gRPC, but needs to expose a JSON/HTTP API
to old users.
- When a user wants to expose an existing gRPC API to a JSON/HTTP API audience.
- When quickly iterating on an JSON/HTTP API design.
- Website: https://grpc-ecosystem.github.io/grpc-gateway
- Repo: https://github.com/grpc-ecosystem/grpc-gateway
- Project administrators and mentors:
- Johan Brandhorst (@johanbrandhorst)
- Andrew Z Allen (@achew22)

## Project Ideas

### Refactor the existing docs site

Our existing docs site (this site!) is decidedly starting to look a bit dated. We'd love to
have a new version with some updated styling and a better structure. The existing content
could be preserved and just reused with a fresh new look, or we could rewrite much of it.

It's currently rendered from Markdown using [Jekyll](https://jekyllrb.com/).
[The source code](https://github.com/grpc-ecosystem/grpc-gateway/tree/master/docs)
for the site is part of the main repo.

We the best way to do this would be to have someone who is unfamiliar with the project
try to use the current material and note anything that was unclear and that they couldn't
easily find with our existing docs.

Material:
- [The current site](https://grpc-ecosystem.github.io/grpc-gateway/)
- [Jekyll](https://jekyllrb.com/) which powers the site now.
- [The source code](https://github.com/grpc-ecosystem/grpc-gateway/tree/master/docs) for the site today.
- [The project README](https://github.com/grpc-ecosystem/grpc-gateway/blob/master/README.md) which
contains an intro to the project.

### Rewrite the README with a better intro and examples

The README has evolved since the start of the project and could do with a rewrite from
first principles. The README is the first thing our prospective users see, and it should
quickly and concisely answer the most important questions for our users.

- What problems can the gRPC-Gateway solve?
- How do I use the gRPC-Gateway?
- What does a complete example look like?
- Where can I find more information about using it?
- Where can I learn more about the technologies the gRPC-Gateway is built on?
- How do I submit an issue report or get help?

Material:
- [The current README](https://github.com/grpc-ecosystem/grpc-gateway/blob/master/README.md).

### Create a tutorial for the docs site

We'd like to be able to point to a tutorial for one of the common use cases of the project.
The ones mentioned in the project details are the primary use cases we advertise:

- When a user wants to migrate an API to gRPC, but needs to expose a JSON/HTTP API
to old users.
- When a user wants to expose an existing gRPC API to a JSON/HTTP API audience.
- When quickly iterating on an JSON/HTTP API design.

It could be a single or several blog posts on our docs site, or another site, like medium.

### Improve the "customize your gateway" section of the docs

This is where we've collected a lot of the little tips we've developed with
users that don't quite fit in the main README or documentation. It would be great
to have a look over this and add detail where possible and generally structure it
a bit better. Maybe it could be rewritten as a FAQ that details solutions to common issues?

Material:
- [The customize your gateway page](https://grpc-ecosystem.github.io/grpc-gateway/docs/customizingyourgateway.html)

### Improve the contributors guide

This is currently split between
[CONTRIBUTING.md]
and the [issue template](https://github.com/grpc-ecosystem/grpc-gateway/blob/master/ISSUE_TEMPLATE.md).
Both of these are a little ad-hoc and could do with a fresh pair of eyes.

Material:
- [Current CONTRIBUTING.md](https://github.com/grpc-ecosystem/grpc-gateway/blob/master/CHANGELOG.md)
- [Current issue template](https://github.com/grpc-ecosystem/grpc-gateway/blob/master/ISSUE_TEMPLATE.md)

### Write a v2.0.0 migration guide

We're planning on making a v2 release of the project, which will have some backwards-compatibility breaking changes.
We need to write a migration guide so that users know what to expect when upgrading their deployments.

This should include:

- A list of all the breaking changes and their consequences for the user.
- For each breaking change, a guide to how their systems may need to be changed.

Currently the scope of the v2 release is not entirely known, as it is still in progress, but we will
endavour not to make too many breaking changes as that will discourage users from upgrading.

Material:
- [v2 Tracking issue](https://github.com/grpc-ecosystem/grpc-gateway/issues/1223)