Skip to content

elc1090/project3-2024a-herois-anonimos

Repository files navigation

Projeto: Aplicação para publicações de histórias de voluntários na reconstrução do RS!

Print da página inicial Página inicial

Print da página de criação de postagem Criação de postagem

Print da lista de perguntas padrões Perguntas padrões

Acesso: https://herois-anonimos.vercel.app

Repositório original: https://github.com/wedersonf/herois-anonimos

Desenvolvedor

Wederson Fagundes, Sistemas de Informação

Descrição

O objetivo da aplicação é dar visibilidade para histórias de voluntários que auxiliaram durante as enchentes no RS e aos que estão ajudando na reconstrução do Rio Grande do Sul. Para utilizar basta criar uma conta e publicar os relatos. A aplicação conta com perguntas predefinidas que podem ser incluídas, visando direcionar com que o conteúdo das publicações postadas sigam o mesmo viés.

Desenvolvimento

O foco do projeto foi direcionado no backend visando melhorar meu conhecimento, mas mantendo uma interface simples e de fácil entendimento.

Testes

Para testar a aplicação existem dois tipos de usuários "administradores" e "usuários".
Na seção funcionalidades é possível visualizar todas as funcionalidades disponíveis no sistema que podem ser testadas.

Dados de acesso:
Administrador:

Usuário autor: Além do usuário abaixo, é possível criar uma conta. Todas as contas criadas através do formulário de cadastro são adicionadas como usuário comum, ou seja, autores.

Rotas API

Authors

  • POST /authors - Cadastra novos usuários
  • GET /authors - Retorna todos os usuários
  • GET /authors/:id - Busca os dados do usuário pelo id
  • PUT /authors/:id - Atualiza os dados do usuário pelo id
  • DELETE /authors/:id - Remove um usuário pelo id

Sessions

  • POST /sessions - Recupera um token (JWT) de autenticação na aplicação.

Posts

  • POST /posts - Cadastra uma nova publicação
  • GET /posts - Retorna todas as publicações. Aceita parâmetro na rota para buscar por autor e por slug, basta informar ?author=nome ou ?slug=test na URL.
  • GET /posts/:id - Busca por uma publicação pelo id.
  • PUT /posts/:id - Atualiza os dados de uma publicação pelo id.
  • DELETE /posts - Remove uma publicação pelo id.

Questions

  • POST /questions - Adiciona uma pergunta predefinida para os autores utilização dos autores.
  • GET /questions - Lista todas as perguntas predefinidas.
  • DELETE /questions - Remove uma pergunta predefinida pelo id.

Uploads

  • POST /uploads - Adiciona um arquivo no serviço de armazenamento.

Funcionalidades

Visitantes

  • Visualizar todas publicações;
  • Visualizar uma publicação específica com acesso pelo slug;
  • Cadastrar uma nova conta como autor(a);
  • Realizar autenticação no sistema.

Usuários

  • Todas funcionalidades de visitantes;
  • Acessar dashboard com listagem das suas próprias publicações;
  • Criar novas publicações:
    • Adicionar imagem na publicação;
    • Adicionar título e descrição;
    • Adicionar perguntas predefinidas pelos administradores;
    • Inserir uma pergunta customizada.
  • Editar próprias publicações;
  • Remover próprias publicações.

Administradores

  • Todas funcionalidades de usuários;
  • Acesso aos painel de gerenciamento;
  • Gerenciamento de usuários:
    • Listar todos os usuários do sistema;
    • Adicionar novo usuário (administrador/autor) no sistema;
    • Atualizar usuário;
    • Remover usuário.
  • Gerenciamento de publicações:
    • Listar todas as publicações do sistema;
    • Atualizar publicação;
    • Remover publicação;
  • Gerenciamento de perguntas (predefinidas):
    • Listar todas as perguntas por categorias;
    • Adicionar nova pergunta em uma categoria específica;
    • Remover pergunta.

Atualizações

Versão Data da entrega Funcionalidade/Alterações
0.1.0 18/06/2024
  • Criação de conta para autores;
  • Autenticação do autor;
  • Criação de novas publicações;
  • Listagem de publicações;
  • Listagem de publicações por id do author;
  • Busca de publicação por slug;
  • Busca de publicação por id;
  • Remover publicação.
0.1.1 25/06/2024
  • Correção dos endpoints da API;
  • Edição de publicações;
  • Botão para voltar para lista de publicações;
  • Paginação da listagem de publicações na tela inicial;
  • Carregamento estilo esqueleto na página inicial;
  • Carregamento estilo esqueleto na listagem de publicações do autor;
  • Incluído botão de voltar para o top quando rolagem estiver ativa.
0.1.2 02/07/2024
  • Adicionado endpoint para upload de arquivos na cloudflare;
  • Adicionado loader de carregamento na tela de edição de publicações;
  • Correção da ordenação das perguntas na postagem;
  • Ajustes no arquivo seed para popular banco de dados com imagens de exemplo;
  • Adicionado voltar para o início ao clicar na logo;
  • Formatação da data da publicação na lista de publicações na página inicial;
  • Adicionado nome do autor na listagem de publicações da página inicial;
  • Ajustes na largura do conteúdo do cabeçalho e rodapé do site;
  • Adicionado página 404 quando inserido uma url invalida.
0.1.3 09/07/2024
  • Correção do botão de cancelar no alerta de confirmação de exclusão.
  • Ajuste de responsividade de páginas e componentes.
  • Adicionado administradores.
  • Adicionado menu de gerenciamento.
  • Adicionado gerenciamento de publicações.
  • Adicionado gerenciamento de usuários.
1.0.0 16/07/2024
  • Ajuste das margens na tela de configurações.
  • Ajuste de layout para versão de celular.
  • Ajuste de alinhamento de texto para esquerda na descrição e respostas das publicações.
  • Adicionado gerenciamento de perguntas predefinidas.
  • Alterado a listagem fixa de perguntas ao gerenciar uma publicação, para listagem cadastradas no banco de dados.
  • Adicionado loader de carregamento das perguntas na página de criação/edição de publicação.
  • Removido arquivo estático com perguntas predefinidas
  • Adicionado a criação das perguntas padrões no 'seed' do banco de dados.
  • Adicionado opção de adicionar pergunta personalizada no menu de perguntas na página de criação/edição de publicação.
  • Ajuste de estilo do loader de carregamento da página 'minhas publicações'.
  • Removido elemento da imagem no card de publicações quando a publicação não tem uma imagem.
  • Removida a animação de progresso das mensagens de alerta.
  • Deletar publicações e suas respectivas imagens ao deletar usuário.

Tecnologias

Ambiente de desenvolvimento

  • VSCode;
  • Docker.

Referências e créditos


Projeto entregue para a disciplina de Desenvolvimento de Software para a Web em 2024a.

About

project3-2024a-herois-anonimos created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages