Repositório oficial da API do projeto de cadernos de arte da Universidade de Brasília. Link para o repositório central do projeto: https://github.com/fga-gpp-mds/2017.1-Cadernos-APP/.
Visualização gráfica das conexões da API, disponível em: https://colaborart.github.io
PS: O Heroku pode estar dormindo, então caso não apareça nada, aguarde uns 20 segundos e atualize a página
Verbo | Url | Descrição | Parâmetros aceitos |
---|---|---|---|
POST | /authenticate | Autentifica o usuário. | email: string password: string |
GET | /book/search/:keyword | Busca por um caderno | keyword: string |
GET | /books | Disponibiliza os cadernos em ordenados pelo seu título e com paginação | page: number per_page: number, default: 10 |
POST | /books | Cria um novo caderno. | book => { title: string, user_id: number } |
GET | /books/:id | Disponibiliza os dados de um único caderno | id: number |
PUT or PATCH | /books/:id | Atualiza os dados de um caderno | book => { title: string, user_id: number } |
DELETE | /books/:id | Deleta um caderno | id: number |
GET | /books-all | Disponibiliza todos os cadernos, sem paginação e ordenados pelo id | |
GET | /books/:id/:title.pdf | Gera um PDF do caderno. PS: O títutlo pode ser qualquer coisa, ele não é usado pra nada... | id: number title: string |
POST | /books/:id/cover | Seta uma capa para um dado caderno. A imagem é passada como parâmetro no formato base64. | id: number cover_base: image string base64 |
GET | /books/:id/members | Disponibiliza os colaboradores de um caderno | id: number |
GET | /books/:id/tasks | Disponibiliza as tarefas de um caderno | id: number |
GET | /categories | Disponibiliza as categorias | |
GET | /invites | Disponibiliza os convites de colaboração | |
POST | /invites | Cria um convite de colaboração. Um email é enviado para o convidado | invite => {email: string, send_id: number, book_id: number} |
GET | /memberships | Disponibiliza as colaborações | |
POST | /memberships | Cria uma colaboração | membership => {email: string, book_id: number} |
GET | /users | Disponibiliza os usuário | |
POST | /users | Cria um novo usuário | user => {name: string, email: string, email_confirmation: string, password: string, password_confirmation: string} |
GET | /users/:id | Disponibiliza os dados de um usuário | id: number |
PUT or PATCH | /users/:id | Atualiza os dados de um usuário | user => {name: string, email: string, email_confirmation: string, password: string, password_confirmation: string} |
GET | /users/:id/books | Disponibiliza os cadernos que o usuário é dono | id: number |
GET | /users/:id/invites | Disponibiliza os convites de colaboração para o usuário | id: number |
GET | /users/:id/memberships | Disponibiliza as colaborações do usuário | id: number |
GET | /tasks | Disponibiliza as tarefas | |
POST | /tasks | Cria uma nova tarefa | task => {category_id: number, title: string, content: string, book_id: number, user_id: number, picture_base: string image base64} |
GET | /tasks/:id | Disponibiliza os dados uma tarefa | id: number |
PUT or PATCH | /tasks/:id | Atualiza os dados de uma tarefa | id: number |
DELETE | /tasks/:id | Deleta uma tarefa | id: number |
POST | /tasks/:id/picture | Seta uma imagem para a terefa | id: number, picture_base: string image base64 |
Para inicializar a API do aplicativo Cadernos localmente basta clonar o repositório e executar o seguintes comandos:
vagrant up mdsgpp
vagrant ssh mdsgpp
Após a inicialização da maquina virtual, execute:
cd /vagrant
rails s -b 0.0.0.0
Pronto! A API estará disponível em https://localhost:3000
.
Vale lembrar que é necessario instalar o Vagrant e o Virtualbox antes. Para saber como instalar confira o passo a passo na página da wiki Configuracao Ambiente Dev
- Faça o download ou clone do repositório.
$ git clone https://github.com/fga-gpp-mds/2017.1-Cadernos-API.git
- Teste suas alterações dentro de uma branch própria e faça o Pull Request que será posteriormente analisado.
A documentação e todas as informações sobre o projeto se encontram em: https://github.com/fga-gpp-mds/2017.1-Cadernos-API/wiki