GSoC Ideas

On this page you find our ideas for the next step in our roadmap. Please use these ideas to define a project for collaborating with us in the Google Summer of Code (if accepted).

Should Voice Republic be accepted into GSoC you can apply here.

Find Voice Republic interesting? Please start to get involved in the project now. Check out issue trackers on our projects on GitHub and talk to us on our chat.

Below you find a) the List of Ideas and b) Application Guidelines.

List of Ideas

Below are ideas to get you started. However, we recommend you get engaged in the project by setting it up and joining the chat first before you work on a proposal. Apart from the ideas below you can also come up with your own idea or remix the ideas below.

Update and Develop Next Version Theme and Implement Continuous Deployment

The Voice Republic theme is partly outdated and does not follow the latest web standards. Please update the web front-end to the latest libraries and develop an updated theme version for fast browsing and mobile pages.

  • Possible Mentor: Branch14
  • How to contact the mentor: Email, chat, Gitter, (In order to stay in aligned throughout the program, please submit daily scrum email, participate in weekly team meetings over video conferencing software, write 4 monthly blog posts about technical aspects and create a final project presentation with slides and a screencast)
  • Potential co-mentors: Munen
  • Deliverables of the project: The outcome of this summer project should be a well-tested theme for the next version of Voice Republic, that is responsive and following the latest web standards. The theme should be part of an automatic deployment using Continuous Integration
  • Desirable skills: Web Technologies, HTML, CSS, Javascript, Design Frameworks, CI, Python
  • Related projects: https://github.com/voicerepublic/voicerepublic_dev

Implement Alternative Storage for Sound Files instead of AWS

Currently Voice Republic uses AWS for storage of sound files. There is a strong dependency on S3. The goal of the summer project is to decrease the dependency and implement alternative storage capabilities. These could include local server storage, Backblaze storage, Google Cloud Storage and other solutions, that could possibly offer a way to store files at lower cost. Furthermore files should also be available as torrents using Magnet links in order to decrease the dependency on providers.

  • Possible Mentor: Branch14
  • How to contact the mentor: Email, chat, Gitter, (In order to stay in aligned throughout the program, please submit daily scrum email, participate in weekly team meetings over video conferencing software, write 4 monthly blog posts about technical aspects and create a final project presentation with slides and a screencast)
  • Potential co-mentors: Munen
  • Deliverables of the project: 
  • Desirable skills: Ruby, Clojure, Web Technologies, Javascript, API, Cloud Storage
  • Related projects: https://github.com/voicerepublic/voicerepublic_dev

Create Continuous Integration and Deployment System Set Up and Develop Advanced Automated Tests Ensuring Performance and Reliability

The reliability and performance is of utmost importance for a high volume website. The quality of the software and hardware is also very important in order to maintain the usability of the Voice Republic project. The web service needs a Continuous Integration and Deployment system that can help guarantee the reliability and quality of the software and service. In this project the student will start by doing the research on the possible CI systems that can be integrated with the app and its components. Then a full setup will be developed and different unit tests will be integrated in order to keep the software being continuously tested.

  • Possible Mentor: Marco A. Gutierrez
  • How to contact the mentor: [email protected]
  • Potential co-mentors: Branch14
  • Deliverables of the project: A CI system for the software applications, should contain as many unit tests of the system as possible
  • Desirable skills: Web Technologies, HTML, Javascript, Clojure, APIs, Ruby
  • Application tasks: Selection and Implementation of a CI System, create unit tests and build tests on top of these
  • Related projects: VR Repository, Jenkins, Github Actions, Travis, Circle CI

Implement Donation System for Authors

Authors on the platform currently don’t have an option to earn from their work. On the other hand many users would like to support authors. Implement a donation system for authors in two steps. 1. Add an option to connect author profiles and talks to platforms like Patreon. 2. Add an option to process regular payments to authors through the web service. Include popular payment gateways. Furthermore provide an option to fund the service itself. 

  • Possible Mentor: Norbert Preining
  • How to contact the mentor: Email, chat, Gitter, (In order to stay in aligned throughout the program, please submit daily scrum email, participate in weekly team meetings over video conferencing software, write 4 monthly blog posts about technical aspects and create a final project presentation with slides and a screencast)
  • Potential co-mentors: Branch14
  • Deliverables of the project: At the end of the project it should be possible for users to support their favourite provider through one-time donations or regular donations.
  • Desirable skills: Web Technologies, Ruby, Clojure, API integrations, HTML, CSS
  • Application tasks: Implementation of APIs, create tests, documentation
  • Related projects: VR Repository, Patreon, Paypal, Stripe

Develop Content Component for Admin Pages and Media for Administrators

Currently content like project description and terms are hosted in the VR blog. This kind of content should rather be part of the web service itself. Also other content like links to social platforms should be part of the VR platform controls for admins instead of being hard-coded into the design. In this summer project students convert the hard-coded elements of Voice Republic that are relevant for the platform itself and specifically the admin content into configurable components, that can be adjusted in the backoffice of Voice Republic.

  • Possible Mentor: Norbert Preining
  • How to contact the mentor: Email, chat, Gitter, (In order to stay in aligned throughout the program, please submit daily scrum email, participate in weekly team meetings over video conferencing software, write 4 monthly blog posts about technical aspects and create a final project presentation with slides and a screencast)
  • Potential co-mentors: Branch14, Munen
  • Deliverables of the project: At the end of the project it should be possible for administrators to configure the entire content of the web service through the backoffice of the system.
  • Desirable skills: Web Technologies, Ruby, Clojure, API integrations, HTML, CSS
  • Application tasks: Implementation of APIs, create tests, documentation
  • Related projects: https://github.com/voicerepublic/vr-backoffice

Add Voice Republic Apps to Debian, Arch or other Distributions and Develop Setup for Autobuilds for Packages of Linux Systems

Voice Republic is using a number of components already available in many Linux distributions. In this summer project it is your task to make the missing components available in Linux distributions and to create a setup for Autobuilds of packages of systems, that can easily be installed.

  • Possible Mentor: Norbert Preining
  • How to contact the mentor: Email, chat, Gitter, (In order to stay in aligned throughout the program, please submit daily scrum email, participate in weekly team meetings over video conferencing software, write 4 monthly blog posts about technical aspects and create a final project presentation with slides and a screencast)
  • Potential co-mentors: Munen
  • Deliverables of the project: The outcome of this summer project should be a well-tested Voice Republic deployment using distribution packages on Linux systems such as Debian that is automatically built using CI tools. In order to achieve this goal the student has to develop the missing bits and pieces.
  • Desirable skills: Debian, Debian, Arch Linux packaging, make (debian/rules is a Makefile), shell, automation, CI, Ruby, Clojure, Web Technologies
  • Related projects: Debian, Arch Linux

GSOC Application Guidelines

Please don’t submit a proposal with more than 4 pages. The most important is that you show that you are able to make substantial contributions to the project. Please add a list of issues you have solved already. If you would like to add wireframes or other designs, Please add them below your proposal as Appendix.

In your proposal please tell us about your coding project. Keep it simple. We prefer people who rather solve some issues to show their dedication than super long proposals. The following information is relevant for us:

  1. About Yourself: Tell us about yourself, your activities in Open Source projects, university, your blog and background. Tell us why you picked this project, how do you use it?
  2. Project title and possible mentors (if you know)
  3. Abstract: Please provide a short abstract. What is the project you want to do? 
  4. Previously Solved Issues/PRs: Which relevant pull requests, real features and bugs in the project repository did you solve already? (This is one of the most important points to decide who gets the stipend)
  5. List of Features/Bugs you plan to solve: What needs to be done for the project? It is very important to list quantifiable results and a list of features. Lists with bullet points are sufficient. If there are existing issues, please add the link behind the feature or bug you plan to solve. Please write the features/bugs in a way that you can post it on the issue tracker.
  6. Design Samples: If relevant include designs that help us to understand your idea. If you have samples, please add them below the proposal.
  7. Timeline Table/List:  Create a timeline for your work. Which features are most important – put them at the beginning. A simple list or table is sufficient. No need for charts.
  8. Test Cases: Outline test cases and add information on unit tests.
  9. Documentation is important and part of the development process. We keep documentation in repositories in the docs folder usually.
  10. Communication: To keep communication flowing in the project we require people to be a member of Voice Republic and all project channels. Please also include a list of Voice Republic channels you are participating in (chat, mailing list, Twitter etc.) and add your ID or Email to ensure we can find you.
  11. Daily Scrum: During programs we expect people to submit scrum reports. Please tell us what questions are asked in a daily scrum!
  12. Other Expectations:  During the program please submit a weekly technical blog article with screenshots, media and share it on social media, provide three webcasts, provide two presentations and organize a small outreach meetup each month. What is your plan?
  13. Availability: We want to avoid disappointments and ensure that people are available for the program full time. Students who are not available to contribute continuously during the program will be failed by admins without exception. Please don’t ask for exceptions in your application. If you are not available full-time in the program, don’t apply. Please confirm in your application, that you don’t have any other job or internship during GSoC, no extended travel or any other commitments or family obligation that could prevent you from participating in the program full-time.