Introduction
Discourse is a 100% open source discussion platform built for the next decade of the Internet. Our software works as a mailing list, a discussion forum, and a long-form chat room. Read more about our project at: meta.discourse.org
Important Reading for Prospective Student Applicants:
- Keep reading this page to learn about our project ideas for this year.
- Learn how to start coding for Discourse by reading our comprehensive contributors guide.
- Read Discourse as your first Rails app.
- Try to complete the Beginner's Guide to Creating Discourse Plugins.
- Ask questions about developing for Discourse on meta.discourse.org, our project discussion site. Spend time browsing the content there, especially the "dev" category. If you'd rather talk in private, send a PM to @team or email team@discourse.org.
Summer of Code Project Ideas
PLUGIN: New chatroom integrations
Discourse has a catch-all chatroom integration plugin which integrates with a wide assortment of chat applications. Additional integrations can easily be added.
Specs
- Research viable new integrations: Stride, Basecamp Chat, Flock, Flowdock, IRC Cloud...
- Send notifications of new topics/posts in Discourse to chat
- Make notifications settings configurable, e.g. only enable select categories.
- Stretch: Slash commands
- Stretch: Post transcripts
PLUGIN: New backup providers
Discourse has a synchroniser-base plugin which integrates with a wide assortment of backup providers. Additional integrations can easily be added.
Specs
- Research viable new integrations: hubiC, Rackspace...
- Make a new backup provider. See discourse-sync-to-googledrive as an example.
PLUGIN: Convert GIFs to MP4/WebP
GIFs can be extremely bandwidth intensive. This could be mitigated by building a lightweight service that converts GIFs to the .mp4 or .webp (for supported browsers) format.
Specs
- Grab all .gif links and process them.
- Convert GIF to MP4
- Put the MP4 file in front of the GIF in the rendered post.
Discuss here: - https://meta.discourse.org/t/plugin-idea-image-optimization-with-webp/36470/2
For a private conversation with mentors, send an email to team@discourse.org.
Further Reading
- http://blog.imgur.com/2014/10/09/introducing-gifv/ (prior art)
- http://cloudinary.com/blog/reduce_size_of_animated_gifs_automatically_convert_to_webm_and_mp4 (prior art)
"Make your own" with #pr-welcome
We have 100+ topics marked with the #pr-welcome tag. Most of these tasks are not big enough on their own to merit a 3 month project, but with a combination of these tasks you'll have a stacked TODO-list in no time.
For a private conversation with mentors, send an email to team@discourse.org.
- Find tasks that match your interests and skill set. Try look for tasks that are related somehow, e.g. tasks that have to do with groups.
- Ask follow-up questions in the topics of the various tasks to get a clear understanding of the problem at hand.
- Collect a bundle of tasks that you'll have a high chance of completing within 3 months.
- Add a few more tasks as stretch goals.
- Not all pr-welcome tasks are properly specced out. Make sure you use your preparation period to ask questions about your selected tasks until each task is properly specified.
Some examples below.
User Data Bundle
Tasks that involve authentication and user data.
- https://meta.discourse.org/t/reddit-oauth-api-support/21939 (good warmup task)
- https://meta.discourse.org/t/how-to-add-stackoverflow-login/54201 (good warmup task)
- https://meta.discourse.org/t/api-can-i-authenticate-without-putting-the-key-in-the-url/29425
- https://meta.discourse.org/t/override-profile-background-via-sso/41921
- https://meta.discourse.org/t/tracking-signups-from-referral/56911
For a private conversation with mentors, send an email to team@discourse.org.
UX Bundle
Tasks that involve a lot of user experience work, and will benefit from some prior UX experience as some tasks require further specification.
- https://meta.discourse.org/t/warn-staff-when-action-will-override-site-restriction/57521
- https://meta.discourse.org/t/quick-access-to-bookmarks-and-messages-on-user-menu/32787
- https://meta.discourse.org/t/more-informative-onebox-for-forum-categories-and-tags/55455
For a private conversation with mentors, send an email to team@discourse.org.
Email Bundle
Anything that touches on email.
- https://meta.discourse.org/t/should-always-receive-email-notification-of-pms/51291
- https://meta.discourse.org/t/possibility-to-configure-sitesetting-notification-email-from-env-variable/50087
- https://meta.discourse.org/t/hide-reply-button-in-emails-if-you-dont-have-permission/44211
- https://meta.discourse.org/t/duplicate-mails-when-to-ing-two-email-addresses/45090
For a private conversation with mentors, send an email to team@discourse.org.