docs: Update GSoC project ideas for 2022.

This commit is contained in:
Tim Abbott 2022-02-21 08:32:27 -08:00
parent 630b37f2d8
commit 1ac2eaa7f9
1 changed files with 33 additions and 51 deletions

View File

@ -228,10 +228,10 @@ set of 8 issues may not be the right ones to invest in.
### Focus areas
For 2022, we are particularly interested in GSoC contributors who have
strong skills at visual design, HTML/CSS, mobile development,
performance optimization, or Electron. So if you're an applicant with
those skills and are looking for an organization to join, we'd love to
talk to you!
strong skills at visual design, HTML/CSS, mobile development, full
stack feature development, performance optimization, or Electron. So
if you're an applicant with those skills and are looking for an
organization to join, we'd love to talk to you!
The Zulip project has a huge surface area, so even when we're focused
on something, a large amount of essential work goes into other parts of
@ -239,29 +239,28 @@ the project. Every area of Zulip could benefit from the work of a
contributor with strong programming skills, so don't feel discouraged if
the areas mentioned above are not your main strength.
As a data point, in Summer 2017, we had 4 students working on the
React Native mobile app (1 focused primarily on visual design), 1 on
the Electron desktop app, 2 on bots/integrations, 1 on web app visual
design, 2 on our development tooling and automated testing
infrastructure, and the remaining 4 on various other parts of the
backend and core web app.
**Please note that the project ideas described below have not yet been updated
for GSoC 2022.**
### Project size
GSoC offers two project size options: 175 hours and 350 hours. We have designed
all our projects to have incremental milestones that can be completed throughout
the summer. Consequently, all Zulip projects described below are compatible with
either project size. Of course, the amount of progress you will be expected to
make depends on whether you are doing a 175-hour or 350-hour project.
GSoC offers two project size options: 175 hours and 350 hours. We have
designed all our projects to have incremental milestones that can be
completed throughout the summer. Consequently, all Zulip projects
described below are compatible with either project size. Of course,
the amount of progress you will be expected to make depends on whether
you are doing a 175-hour or 350-hour project.
### Full stack and web frontend focused projects
Code: [github.com/zulip/zulip -- Python, Django, JavaScript, and
CSS](https://github.com/zulip/zulip/).
- Implement new full stack features for Zulip. The [high priority
label](https://github.com/zulip/zulip/issues?q=is%3Aissue+is%3Aopen+label%3A%22priority%3A+high%22)
documents hundreds of issues that we've identified as important to
the project. A great project can be 3-5 significant features around
a theme (often, but not necessarily, an [area
label](https://github.com/zulip/zulip/labels). Experts: Depends on
the features!
- Zulip's [REST API documentation](https://zulip.com/api), which is an
important resource for any organization integrating with Zulip.
Zulip has a [nice framework](../documentation/api.md) for writing
@ -280,12 +279,12 @@ CSS](https://github.com/zulip/zulip/).
- Finish important full-stack features for open source projects using
Zulip, including [default stream
groups](https://github.com/zulip/zulip/issues/13670), [Mute
User](https://github.com/zulip/zulip/issues/168), and [public
access](https://github.com/zulip/zulip/issues/13172). Expert: Tim
Abbott. Many of these issues have open PRs with substantial work
towards the goal, but each of them is likely to have dozens of
adjacent or follow-up tasks.
groups](https://github.com/zulip/zulip/issues/13670) and
improvements to the upcoming [public
access](https://github.com/zulip/zulip/issues/13172)
feature. Expert: Tim Abbott. Many of these issues have open PRs with
substantial work towards the goal, but each of them is likely to
have dozens of adjacent or follow-up tasks.
- Fill in gaps, fix bugs, and improve the framework for Zulip's
library of native integrations. We have about 100 integrations, but
@ -367,8 +366,8 @@ CSS](https://github.com/zulip/zulip/).
(whether logged-in or logged-out pages). Expert: Aman Agrawal.
- Build support for outgoing webhooks and slash commands into Zulip to
improve its chat-ops capabilities. There's an existing
[pull request](https://github.com/zulip/zulip/pull/1393) with a lot
improve its chat-ops capabilities. There's an
[old pull request](https://github.com/zulip/zulip/pull/1393) with a lot
of work on the outgoing webhooks piece of this feature that would
need to be cleaned up and finished, and then we need to build support for slash
commands, some example integrations, and a full set of
@ -427,22 +426,16 @@ CSS](https://github.com/zulip/zulip/).
features is [well documented](../tutorials/new-feature-tutorial.md).
Expert: Shubham Dhama.
- Write cool new features for Zulip. Play around with the software,
browse Zulip's issues for things that seem important, and suggest
something youd like to build! A great project can combine 3-5
significant features. Experts: Depends on the features!
- Work on Zulip's development and testing infrastructure. Zulip is a
project that takes great pride in building great tools for
development, but there's always more to do to make the experience
delightful. Significantly, a full 10% of Zulip's open issues are
ideas for how to improve the project, and are
[in](https://github.com/zulip/zulip/labels/area%3A%20tooling)
delightful. Significantly, about 10% of Zulip's open issues are
ideas for how to improve the project's contributor experience, and
are [in](https://github.com/zulip/zulip/labels/area%3A%20tooling)
[these](https://github.com/zulip/zulip/labels/area%3A%20testing-coverage)
[four](https://github.com/zulip/zulip/labels/area%3A%20testing-infrastructure)
[labels](https://github.com/zulip/zulip/labels/area%3A%20provision)
for tooling improvements. A good place to start is
[backend test coverage](https://github.com/zulip/zulip/issues/7089).
for tooling improvements..
This is a somewhat unusual project, in that it would likely consist
of dozens of small improvements to the overall codebase, but this
@ -457,7 +450,9 @@ CSS](https://github.com/zulip/zulip/).
[our mypy blog post](https://blog.zulip.org/2016/10/13/static-types-in-python-oh-mypy/)
for details on how mypy works and is integrated into Zulip. This
specific project is ideal for a strong contributor interested in
type systems.
type systems. See [this
issue](https://github.com/zulip/zulip/pull/18777) for details on the
current state of this work.
**Skills required**: Python, some DevOps, and a passion for checking
your work carefully. A strong applicant for this will have
@ -477,19 +472,6 @@ CSS](https://github.com/zulip/zulip/).
Typescript. **Skills required**: Experience with the target
language and API design. Expert: Depends on language.
- Develop [**@zulipbot**](https://github.com/zulip/zulipbot), the GitHub
workflow bot for the Zulip organization and its repositories. By utilizing the
[GitHub API](https://developer.github.com/v3/),
[**@zulipbot**](https://github.com/zulipbot) improves the experience of Zulip
contributors by managing the issues and pull requests in the Zulip repositories,
such as assigning issues to contributors and appropriately labeling issues with
their current status to help contributors gain a better understanding of which
issues are being worked on. Since the project is in its early stages of
development, there are a variety of possible tasks that can be done, including
adding new features, writing unit tests and creating a testing framework, and
writing documentation. **Skills required**: Node.js, ECMAScript 6, and API
experience. Experts: Cynthia Lin, Joshua Pan.
### React Native mobile app
Code: