Coder Social home page Coder Social logo

gsoc's Introduction

The Erlang Ecosystem Foundation has applied to the Google Summer of Code (GSoC) 2022. The EEF is a great place to spend a summer learning, coding, participating and contributing in Erlang, Elixir, LFE, and other technologies based on the BEAM. We are an exciting open source foundation with a vibrant community of projects, and we look forward to your application and your project ideas!

In this page, we will list projects (alphabetically) that are participating in the GSoC. Click on the project below to see all proposals/ideas related to that project. And remember, we are always open to new ideas, just hit us with them by sending an email to the mailing list!

Communication

Please reach out to us on the EEF Summer of Code mailing list.

Project maintainers: please open a ticket with your idea(s) or send them on the mailing-list. Note all of ideas should follow the GSoC guidelines.

Current Year

Project Ideas

  • Rebar3 ideas - Rebar3 is the standard build tool within the Erlang community and other languages on the BEAM VM. It essentially bundles all of the other tools shipping with Erlang and makes them all work under a unified project structure.
  • riak_core_lite ideas - riak_core_lite is a well known Framework for Elastic Distributed Applications.
  • Zotonic ideas - The Erlang Web Framework & CMS

Accepted projects

Here you will find projects from previous years that were accepted and carried out by students. To read the whole list of project ideas that were proposed throughout the years, you can either check the files in the repository or click in a year to jump to its folder.

Project Student Mentors
Handle replication using the Yggdrasil Network Kushal Kothari Benoît Chesneau
Reference implementation for riak-core-lite based distributed application Riki Otaki Albert Schimpf, Annette Bieniusa and Luis Mariano Guerra
Vulnerability report system in hex.pm website Lois Soto López Wojtek Mach and Eric Meadows-Jönsson

gsoc's People

Contributors

benoitc avatar pablocostass avatar robertoaloi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gsoc's Issues

Hex web auth

Description

hex web auth flow

Recommended Skills

Erlang and elixir. The biggest chunk of work will require elixir skills, erlang is needed for hex_core and rebar3_hex

Mentor(s)

  • Bryan Paxton
  • Todd Resudek

Project URL(s)

@pablocostass is to add this project to the wiki soon. Here is a link to the B&P action item for this project : erlef/build-and-packaging-wg#21

Livebook for Erlang

The idea is to have something as Livebook for Erlang. Or to allow Erlang code to be run on Livebook

Recommended Skills

A good knowledge or Erlang and Elixir.

Mentor(s)

None so far.

Project URL(s)

Livebook http://livebook.dev/

GSoC Proposal for AntidoteDB

Website: https://www.antidotedb.eu/
Possible Mentors: Annette Bieniusa

AntidoteDB is a highly-available and scalable geo-replicated datastore. Its data model are conflict-free replicated datatypes (CRDTs) that can be accessed in a transactional causally consistent way. Antidote is an open-source project that has evolved from the European research projects Syncfree and Lightkone.

Additional ideas by students are welcome!

Idea #1: Support for Elixir

Antidote offers a number of different bindings for languages, the Erlang binding is the one covering most functionality today. We want to investigate how we can make Antidote easily accessible to Elixir programmers.

Knowledge prerequisites: Basic knowledge of Erlang/Elixir

Idea #2: Improving coverage for dialyzer and unit tests

Type annotations provide an important guidance to programmers that are new to Erlang code. In this project, you will clean-up and improve the types in Antidote and get our unit test coverage up.

Knowledge prerequisites: Knowledge of Erlang/OTP

Idea #3: Property-based testing for Antidote

We are currently decomposing into different components for persistent storage, inter-DC communication, transaction management, frontend, etc. which are stateful and therefore difficult to cover with simple unit tests. In addition to the unit and systems tests that are already in place, we want to add property-based tests.

Knowledge prerequisites: Knowledge of Erlang/OTP

Idea #4: Security

In this project, you will add an authentication mechanism to Antidote. Further tasks will be to make the inter-DC communication secure.

Knowledge prerequisites: Knowledge of Erlang/OTP, background knowledge on security

Erlang LS meets Refactoring

Description

Erlang LS is a language server providing language features such as auto-complete or go-to-definition for the Erlang programming language. The server is compatible with Emacs, VSCode, Sublime Text 3, Vim and probably many more text editors and IDEs which adhere to the LSP protocol.

In the Erlang Community, several refactoring tools have been implemented through the years, to help developers refactoring their Erlang code bases. Two notorious refactoring tools are Wrangler and RefactorErl.

Unfortunately, these tools found only limited adoption outside of the academic world, mainly due to the difficulty of integrating them into a regular developer workflow. By integrating refactoring capabilities directly into the editor via Erlang LS, we aim at making refactoring Erlang code bases a smooth experience for developers.

Recommended Skills

  • Erlang knowledge
  • Plus: familiarity with concepts such as Abstract Syntax Trees,
    Grammars, etc

Mentor(s)

Pablo Costas Sánchez - @pablocostass (Klarna)
Roberto Aloi - @robertoaloi (Klarna)

Project URL(s)

Implementing and evaluating an anti-entropy protocol for riak_core_lite

Description
Active anti-entropy (AAE) identifies and repairs data inconsistencies between a system's replicas. It is typically implemented as a set of background processes that iterate over the data items, compare their state and trigger synchronisation actions.
Riak_core_lite currently does not offer an active anti-entropy module.

Recommended Skills

  • Good programming skills in Erlang
  • Basic knowledge about distributed systems

Mentor(s)
Albert Schimpf, Mariano Guerra, Annette Bieniusa

Project URL(s)

GSoC ideas - Zotonic

Title

Zotonic - Elixir integration

Description

Zotonic is the Erlang Content Management System and Framework.

It provides a complete environment to build web sites, with integrated administrative
environment, module system, virtual hosting, users, media, content management,
templates, emailing, LetsEncrypt, etc.

We would like to make modules and sites with Elixir.

For this:

  • The build system (rebar3) must know how to handle Elixir applications;
  • The runtime module and site managers must be able to introspect Elixir modules;
  • The template compiler must be able to call into Elixir modules for filters and such;
  • The MQTT routines must understand models implemented in Elixir;
  • The notification system must understand observers written in Elixir;
  • The zotonic_filehandler must understand how to compile Elixir files and/or projects.

And probably some other changes here and there to make it a smooth experience for Elixir developers.

Recommended Skills

Experience with Elixir and Erlang. You must be willing to investigate how Elixir functions
are called from Erlang and dive into the runtime behavior of the Beam.

Mentor(s)

Marc Worrell @mworrell
Maas-Maarten Zeeman @mmzeeman
With help from Arjan Scherpenisse @arjan

GitHub project url

https://github.com/zotonic/zotonic

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.