-
Notifications
You must be signed in to change notification settings - Fork 12
Project: ejabberd
- Website: http://www.process-one.net/en/ejabberd
- Responsible: Mickaël Rémond (mremond at process-one), Alexey Shchepin, Jérôme Sautret, Christophe Romain.
- Notes: Prior knowledge of Erlang (or a functional language) is a good start to begin with the project. We are also open to student proposals.
ejabberd is one of the most known Erlang project, developed since 2002 by ProcessOne. As a student, you will have the opportunity to work with the ejabberd historical lead developers directly and work on projects that can have a huge impact given the number of worldwide users.
Ideas are listed in no particular orders.
Brief explanation: the ability to offer access to ejabberd feature through HTTP. It is possible to map a lot of the operation, semantic of XMPP on top of HTTP. You could for example browser chat rooms, pubsub nodes, etc using a rest interface. A lot could be done that way and it would open up a whole new range of use case of ejabberd to traditional web developers or to environnement where using XMPP directly is difficult.
Expected results:
Knowledge prerequisites:
Mentor: Mickaël Rémond
Brief explanation: implement the buddycloud protocol in ejabberd. Buddycloud is an XMPP extension for building social networks. Having worked a lot on concept of federated social networks, I would be very interested in participating in such effort, adding another feature set that would be More details here:
- HTTP API:https://buddycloud.org/wiki/buddycloud_HTTP_API
- XMPP part: https://buddycloud.org/wiki/XMPP_XEP Both elements could be implemented in ejabberd.
Expected results:
Knowledge prerequisites:
Mentor: Alexey Shchepin, Mickaël Rémond
Idea #3: Improve ejabberd configuration and extensibility
Brief explanation: I am a big fan of elixir and I am a big believer that making ejabberd extensible more easily would be something very valuable. There is plenty of room for improvements. The first that comes to mind is allow writing extensions and plugin using elixir. We would work together to make an even better / clearer API and make it easy to write very powerful modules using elixir. Another area were Elixir + ejabberd could make sense is building a DSL for ejabberd configuration that would replace the existing and difficult to grap configuration file. Maybe mixing the two is even possible, making ejabberd directly extensible from the configuration file with a proper mix of DSL granting both access to configuration patterns and behaviour oriented hooks.
Expected results:
Knowledge prerequisites:
Mentor: Alexey Shchepin, Mickaël Rémond
Idea #4: Multi-User chat module scale and robustness
Brief explanation:
Expected results:
Knowledge prerequisites:
Mentor: Alexey Shchepin, Mickaël Rémond