gnusocial.rocks/soc/2022/index.html

116 lines
7.2 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=0.86, maximum-scale=5.0, minimum-scale=0.86">
<title>GNU social &mdash; Summer of Code 2022 Ideas</title>
<link rel="shortcut icon" href="../../favicon.ico">
<link rel="stylesheet" href="../../assets/css/reset.css">
<link rel="stylesheet" href="../../assets/css/blog.css">
<link rel="stylesheet" href="../../assets/fonts/opensans/opensans.css">
</head>
<body>
<header>
<a class="header-main" href="https://gnusocial.rocks/">
<img src="https://www.gnusocial.rocks/assets/img/gnu-social-logo-invert.svg" alt="GNU social"><b>gnu</b>social
</a>
<aside class="header-sidebar">
<ul class="menu-list">
<li class="menu-item"><a href="/soc" class="menu-link">Programme</a></li>
<li class="menu-item menu-selected"><a href="/soc/2022" class="menu-link">2022</a></li>
<li class="menu-item"><a href="/soc/#about-soc" class="menu-link">About</a></li>
<li class="menu-item"><a href="#ideas" class="menu-link">Ideas</a></li>
<li class="menu-item"><a href="/soc/#apply" class="menu-link">Apply</a></li>
<li class="menu-item"><a href="../study_resources.html" class="menu-link">Study Resources</a></li>
<li class="menu-item"><a href="academics.html" class="menu-link">Academics</a></li>
</ul>
</aside>
</header>
<div class="content-wrapper">
<main class="content soc">
<h2 class="content-head is-center">Summer of Code 2022</h2>
<article id="about">
<h2>About the programme</h2>
<p>Check the <a href="/soc/">programme page</a> to learn more about the programme and on how to apply.</p>
<p>GNU social is a social communication software used in <a href="https://blog.diogo.site/posts/what-is-the-fediverse">federated social networks</a>. It is widely supported and has a large userbase.</p>
<p>If you would like to know how is it like to be a GSoC student at GNU social, <a href="https://blog.diogo.site/posts/gsoc-2018">read this blog post</a>!</p>
</article>
<article id="stipend">
<h2>Summer Stipend</h2>
<p>We no longer participate in Google Summer of Code since 2021. In 2020 we've had a successful student supported by <a href="https://thefreaks.club/">The Freaks Club</a>, you can reach thndrbvr and try your luck, or look for another sponsor. Otherwise, there will be no stipend.</p>
</article>
<article id="ideas">
<h2>Ideas</h2>
<p>Below is a list of ideas you can work on this Summer at GNU social. You should pick one (or mix a couple) of them and <a href="https://agile.gnusocial.rocks/doku.php?id=affairs:development_discussion">talk on IRC about it</a>. The community will help you understanding what has to be done so you can put a good proposal together.</p>
<h3>Improve GNU social v3 form handling</h3>
<p><strong>Description:</strong> Our current forms have their controller embedded in the UI construction.</p>
<p><strong>Outcomes:</strong> Processing on dedicated controller, splitting logic from UI.</p>
<p><strong>Skills required:</strong> PHP</p>
<p><strong>Skills preferred:</strong> Twig</p>
<p><strong>Mentors:</strong> Hugo Sales, Eliseu Amaro</p>
<p><strong>Difficulty:</strong> Hard</p>
<p><strong>Workload:</strong> 350h</p>
<h3>XMPP Plugin</h3>
<p><strong>Description:</strong> - Add XMPP Notifications queue; - Add reply to note via XMPP; - and Add XMPP chat.</p>
<p><strong>Outcomes:</strong> This would be a port of the v2 XMPP plugin with improved functionality.</p>
<p><strong>Skills required:</strong> PHP, XMPP</p>
<p><strong>Mentors:</strong> Diogo Cordeiro, Alexey Sorokin, Joshua Judson Rosen</p>
<p><strong>Difficulty:</strong> Hard</p>
<p><strong>Workload:</strong> 350h</p>
<h3>Integrate GS cache into Symfony and Configurable Autoloader</h3>
<p><strong>Description:</strong> We have a custom cache system which is not understood by Symfony. Improve our autoloader so it can be configurable instead of just loading everything.</p>
<p><strong>Outcomes:</strong> Symfony profiler can give useful information concerning cache. Decide which plugins should be loaded on runtime; Replace components with local ones; Replace templates with local ones.</p>
<p><strong>Skills required:</strong> PHP</p>
<p><strong>Mentors:</strong> Hugo Sales, Diogo Cordeiro</p>
<p><strong>Difficulty:</strong> Hard</p>
<p><strong>Workload:</strong> 350h</p>
<h3>Old school image manipulation without JS</h3>
<p><strong>Description:</strong> Pure HTML + CSS solutions for Image-related manipulation</p>
<p><strong>Outcomes:</strong> Provide an easy Twig macro interface for image manipulation, this includes: cropping images without requiring client side JS; adding annotations to images; and a plugin to have a XMP interface background animaton using SVGs.</p>
<p><strong>Skills required:</strong> CSS2.2, PHP</p>
<p><strong>Skills preferred:</strong> Twig</p>
<p><strong>Mentors:</strong> Eliseu Amaro</p>
<p><strong>Difficulty:</strong> Medium</p>
<p><strong>Workload:</strong> 350h</p>
<h3>Bring back GNU social v2 themes</h3>
<p><strong>Description:</strong> Restore that nostalgic and old-fashioned UI.</p>
<p><strong>Outcomes:</strong> Have a heartwarmed community finding you wholesome.</p>
<p><strong>Skills required:</strong> Semantic HTML, CSS2.2, Orca</p>
<p><strong>Mentors:</strong> Eliseu Amaro</p>
<p><strong>Difficulty:</strong> Medium</p>
<p><strong>Workload:</strong> 350h</p>
<h3>Reliability Engineering</h3>
<p><strong>Description: </strong>Create unit tests for components and plugins.</p>
<p><strong>Outcomes:</strong> Review the whole unfully tested codebase.</p>
<p><strong>Skills required:</strong> PHP, PHPUnit</p>
<p><strong>Mentors:</strong> Hugo Sales, Diogo Cordeiro, Eliseu Amaro</p>
<p><strong>Difficulty:</strong> Medium</p>
<p><strong>Workload:</strong> 350h</p>
<h3>Bring back LinkRedirectPlugin, URLShortnerPlugin, HappeningsPlugin, PollPlugin, and SMSPlugin</h3>
<p><strong>Description:</strong> Restore these functionalities that were available in v2.</p>
<p><strong>Outcomes:</strong> The user can set a url shortner, create events, and create polls.</p>
<p><strong>Skills required:</strong> PHP, CSS2.2, HTML</p>
<p><strong>Mentors:</strong> Diogo Cordeiro, Eliseu Amaro</p>
<p><strong>Difficulty:</strong> Medium</p>
<p><strong>Workload:</strong> 350h</p>
</article>
</main>
</div>
<footer class="l-box is-center">
This site's source is <a href="https://code.undefinedhackers.net/GNUsocial/gnusocial.rocks">hosted here</a>.
</footer>
</body>
</html>