Este projeto consiste na criação do encapsulador para a API REST do Mural do Redu.
Encapsularoes (para APIs REST), também conhecidos como wrappers, são bibliotecas que abstraem detalhes de rede na comunicação com serviços terceiros.
Por exemplo, para criar um post no mural de um usuário no Redu é necessário realizar uma requisição HTTP do tipo POST para a URL http://redu.com.br/apu/users/:user_id/statuses passando-se como payload o seguinte json:
{ "status": { "text": "Meu novo post" } }
Um encapsulador na linguagem Ruby faria este trabalho da seguinte forma:
client.create_post(:user => 12, :text => "Meu novo post")
Note que usuário do encapsulador não precisa ter conhecimento a respeito das requisições HTTP enviadas. Toda a interação é feita através de invocação de métodos e inicialização de objetos.
De preferência uma das descritas abaixo:
- PHP
- JavaScript (para browsers e servidores [Node.js])
- Objective-C
- C#
- C++
- Go
- Lua
- Haskell
- Scala
- Java
- Python
- Ruby
- Shellscript
- Perl
Vocês podem utilizar bibliotecas de terceiros para isso. É apenas esperado que quem for utilizar o encapsulador de vocês informem as credenciais cadastradas no Redu.
Para uma lista extensiva, porém não completa, de implementações de clientes OAuth2, visitem o site oficial. Uma busca no Github também pode ajudar.
Vocês irão deter os direitos autorais, porém o código deve ser livre (as in freedom). Sugiro a licença MIT. O código devera ser disponibilizado em um repositório aberto do Github.
Tanto o código quando o projeto deverá possuir documentação. No caso do projeto, um arquivo README na raíz do mesmo é suficiente. Não custa nada utilizar alguma linguagem de marcação como o markdown, textile, etc.
Lembrem-se de adicionar informações sobre como contribuir com o código.