Skip to content

JorgeLNJunior/voting-app-back-end

Repository files navigation

Aplicação de enquetes feita com base no Voting App do repositório App Ideas.

Travis Build Coverage Status JavaScript Style Guide License Release

Tabela de Conteúdos

Sobre o Projeto

Aplicação de enquetes onde é possível criar, compartilhar e gerenciar enquetes. Feita com base no Voting App » do repositório App Ideas » com o propósito de praticar e aprender tecnologias como Jest, TDD, CI/CD, criação de API's REST, Azure, Knex.js, entre outros. Para mais informações como diagramas, planejamento e futuras funcionalidades visite o quadro Trello » deste projeto.

Rotas

Informações básicas sobre as rotas da aplicação, para informações mais detalhadas visite a documentação da API »

HTTP Rota Descrição Autenticação
POST /register registra um novo usuário não
POST /login autentica um usuário não
GET /users/? lista um ou mais usuários sim
GET /users/:id/votes lista os votos de um usuário sim
POST /users/:id/password altera a senha do usuário sim
POST /users/:id/avatar altera o avatar do usuário sim
PUT /users/:id edita um usuário sim
DELETE /users/:id deleta um usuário sim
POST /surveys cria uma survey sim
GET /surveys/? lista uma ou mais surveys não
POST /suveys/:surveyID/vote/:optionID vota em uma opção sim
PUT /surveys/:surveyID edita uma survey sim
DELETE /surveys/:surveyID deleta uma survey sim
POST /surveys/:id/banner altera o banner da survey sim
GET /docs acessa a documentação da API não

Tecnologias

Este projeto foi construído com as seguintes tecnologias:

Instalação e configuração

Requisitos

Opcional

Instalação

  1. Clone o projeto: git clone https://github.com/JorgeLNJunior/voting-app-back-end.git
  2. Instale as dependências: npm i
  3. Renomeie o arquivo .env.example para .env
  4. Crie duas bases de dados, uma para a aplicação e outras para os testes
  5. Altere as variáveis do arquivo .env com as configurações das bases de dados e da storage account
  6. Banner e avatares podem ser armazenados tanto em uma storage account quanto localmente, para utilizar uma storage account modifique a variável AZURE_STORAGE no arquivo .env para true, ou false para armazenar localmente
  7. Para iniciar a aplicação execute npm run dev, para os testes execute npm test
  8. Caso esteja usado o VSCode abra a command palette com Ctrl + Shift + P e use o comando Extensions: Show Recommended Extensions para ver as extensões recomendadas

CheckList

User Stories

  • User can see a list of items he can vote on
  • These items must have a button that the user can click on to vote
  • After the user clicked a button, the user should see all the votes

Bonus features

  • Store items and votes in a database
  • Only allow authenticated users to vote

Licença

Distribuido sob a licença MIT »

About

📜 App de enquetes feito com base no Voting App do repositório App Ideas

Resources

License

Stars

Watchers

Forks

Languages