GSoC/GCI Archive
Google Summer of Code 2015

BEAM Community

License: Apache License, 2.0

Web Page: https://github.com/beamcommunity/beamcommunity.github.com/wiki

Mailing List: https://groups.google.com/forum/#!forum/beam-community

The BEAM Community is a group of OSS projects that run on the Erlang VM. Our goal is to host relevant projects in the Erlang community, making it easy for those projects to participate in the Google Summer of Code and for interested students to pick their best choice. The Erlang VM was originally designed by Ericsson to support distributed, fault-tolerant, soft-real-time, non-stop applications.

 

Many companies around the world like Amazon, Heroku and Activision use the Erlang VM in their stack and open source projects like CouchDB and Riak are built on top of it. Our currently hosted projects include the Elixir programming language, Disco, a distributed computing framework originated from Nokia, ejabberd, a robust XMPP server used largely around the world and others. This gives students a wide range of choices, that goes from working on distributed systems, to maintaining robust servers and language design.

Projects

  • Elixir - NoSQL adapters for Ecto The goal of the project is to explore possibility of Ecto supporting NoSQL databases and creating a NoSQL adapter. I plan to divide time spent on the project into three main parts: - Creating MongoDB adapter - Extending support for SQL databases - Native MongoDB driver or other NoSQL adapters
  • Grapherl : stats aggregtion & graphing system (ejabberd: idea #2) Grapherl is a stats aggregation and on-demand graph generation system. Leveraging the legendary power of Erlang/OTP, it is designed (discussed further) to be real-time & highly scalable and customizable allowing its users to control each and every aspect as they seem fit. Grapherl is intended but limited to gather and represent metrics aggregated from ejabberd servers as its designed to be serviceable to any other application producing metrics like gauge, counter or timing values.
  • Proposal for joining "Project Jupyter integration" of BEAM Community Fault tolerance approach proved to be extremely effective in area of distributed systems. Elixir is a new language which can apply this solution to web applications. In this proposal I do not only present some kind of simple vision of how Elixir can become significant in data science but also I share my point of view about important matters: why I decide to choose this specific project, what is really important to accomplish it as well as short description of my experience related to this idea.
  • Simplified and Secured Logins The idea behind this project is promote easy login process for Zotonic.com. With increasing web applications, there needs to be way for users to logins which is more hassle free. Moreover this needs to be secure and safe.
  • XEP-0357 for ejabberd + app server I want to continue implementing XEP-0357 (Push) as an ejabberd module. The app server part shall be reusable by other XMPP servers