Coder Social home page Coder Social logo

mc426-2023s1's People

Contributors

caiopetruccirosa avatar gabrielgardini avatar guejohn avatar lufazol avatar pvskp avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

guejohn

mc426-2023s1's Issues

Refatoração de code smells para a avaliação A4.2

  1. Dispensable:
  • Dead code: no código dentro do diretório client, isto é, em todo o código que se refere especificamente ao front, há bastante dead code -- desde imports que foram utilizados em algum momento, mas deixaram de ser, até funções que foram implementadas, mas no fim não são utilizadas.

  • Comments: foram removidos comentários explicativos redudantes de todo o código, já que as funções por si próprias já dizem por si próprias exatamente pelo quê são responsáveis.

    Portanto, a refatoração desse code smell se deu pela exclusão do código morto dentro do client e pela remoção de comentários explicativos.

Funcionalidade de votação em comentários

Descrição

Como usuário, eu quero votar no comentário de um outro usuário em um determinado post quando eu achar o comentário relevante, para que esse comentário fique mais visível para outros usuários.

Critérios de aceite

  • O usuário deve ter a opção de votar em um comentário a partir de um botão associado.
  • A contagem de votos do comentário deve ser exibida junto com o comentário e o botão de votagem.
  • Ao votar em um comentário, a contagem de votos do comentário deve ser atualizada corretamente.

Relacionado ao épico #80.

Funcionalidade de criação de posts no fórum

Descrição

Como usuário, eu desejo criar um post no fórum, que pode estar associado a um artigo existente na Wiki.

Critérios de aceite:

  • O usuário deve conseguir criar um post que seja armazenado no banco.
  • O usuário deve ser capaz de associar um artigo existente na Wiki ao post durante a sua criação.
  • O usuário deve ser capaz de acessar a página do artigo associado, se existente, a partir de um link no post.
  • Os posts criados devem ser consistentes com outras funcionalidades, como exibição e votação de posts dentro do fórum.

Relacionado ao épico #24.

Detalhar arquitetura na descrição da aplicação

O objetivo desta issue é adicionar no README.md todas as especificações solicitadas na avaliação A4.1 e referentes à arquitetura do projeto. São elas:

  • Diagrama em nível de componentes (C4 - Nível 3)
  • Descrição sucinta dos componentes do diagrama
  • Estilo de arquitetura adotado para a aplicação
  • Padrão de projeto para um componente

É válido lembrar que a Avaliação A4.1 não se trata apenas dessas especificações no README.md. O padrão de projeto escolhido para o componente deve ser implementado, preferencialmente associado a uma outra issue.

Implementação da API de criação e de acesso de conta

Implementação da API de criação de conta que a princípio é simples, porém, pelo projeto estar em estágio inicial requer as seguintes funcionalidades internas no projeto:

  • Interface interna de comunicação com o banco de dados PostgreSQL;
  • API que implemente a operação de criar um registro de usuário e retorne resultados de acordo, como erro de bad request ou um ok.

Já para a API de acesso de conta, inicialmente iremos implementar a funcionalidade de verificar se um usuário inseriu a senha correta de acordo com o username e retornar um status de sucesso. Posteriormente, iremos apenas incrementar a lógicas de login do usuário de forma que retorne um token de acesso que possa ser verificado em cada requisição caso necessário.

Essa issue diz respeito à implementação dessa feature apenas na parte "backend" do projeto, contida majoritariamente na pasta /server.

Posteriormente, devemos criar alguma forma de documentação, como um swagger que descreva os endpoints da API implementada, assim como um documento que discorra sobre as regras que são validadas na criação de um usuário.

Funcionalidade de listagem de artigos na Wiki

Descrição

Como usuário, eu gostaria de acessar uma página que contenha a listagem de todos os artigos da Wiki.

Critérios de aceite

  • O usuário deve ser capaz de visualizar uma listagem de todos os artigos da Wiki.
  • A partir da listagem, o usuário deve ser capaz de acessar a página respectiva do artigo.

Relacionado ao épico #29.

Funcionalidade de listagem de posts no fórum

Descrição

Como usuário, eu visualizar posts dentro fórum, de forma que eu consiga interagir com as funcionalidades associadas a ele, como votar.

Critérios de aceite:

  • Os posts deve ser exibidos e listados no fórum.
  • A partir dos posts exibidos, o usuário deve ser capaz de interagir com as funcionalidades restantes associadas ao post, como votar.

Relacionado ao épico #24.

Funcionalidade de votação em posts

Descrição

Como usuário, eu quero votar num post criado por um usuário quando eu achar o post relevante, de modo que o post tenha mais visibilidade e mais usuários participem da discussão.

Crítérios de aceite

  • O usuário deve ter a opção de votar em um post.
  • Ao votar em um post, a contagem de votos do post deve ser atualizada corretamente.
  • A visibilidade do post deve ser afetada pelo número de votos recebidos, de acordo com as regras de classificação estabelecidas.
  • O post deve ser exibido de forma destacada ou com maior destaque quando tiver mais votos.

Relacionado ao épico #24.

Implementar funcionalidade de filtragem de artigos

Como usuário, eu gostaria de filtrar os artigos que são exibidos (como resultado de busca ou mesmo em uma tela de listagem de artigos disponíveis), restritos à área do meu curso, às disciplinas do meu curso, às disciplinas do meu instituto ou a uma determinada disciplina, de modo que eu possa encontrar artigos de assuntos específicos.

Requisitos:

  • O usuário deve ter a opção de selecionar a área do curso desejada para filtrar os artigos.
  • O usuário deve ter a opção de selecionar as disciplinas do seu curso para filtrar os artigos.
  • O usuário deve ter a opção de selecionar as disciplinas do seu instituto para filtrar os artigos.
  • O usuário deve ter a opção de selecionar uma disciplina específica para filtrar os artigos.
  • Ao aplicar um filtro, apenas os artigos relacionados às áreas, disciplinas do curso ou disciplinas selecionadas devem ser exibidos como resultado da busca ou na tela de listagem.
  • Os filtros devem ser aplicados corretamente, mostrando apenas os artigos relevantes para o usuário.

Funcionalidade de busca de artigos na Wiki

Descrição

Como usuário, eu gostaria de buscar artigos na Wiki, dentro de uma listagem de artigos, a partir de palavras que estejam dentro do conteúdo ou do título de um artigo.

Critérios de aceite

  • O usuário deve ter a opção de buscar artigos, a partir de palavras que batam com outras palavras dentro do conteúdo ou do título de outros artigos.
  • O usuário deve ser capaz de visualizar os artigos resultantes da busca em uma listagem.
  • A partir da listagem dos resultados, o usuário deve ser capaz de acessar a página específica de cada artigo mostrado.

Relacionado ao épico #29.

Funcionalidade de acessar a página de um artigo

Descrição

Como usuário, eu gostaria de acessar uma página de um artigo da Wiki. Estes artigos podem conter conteúdo multi-mídia, como fotos ou apenas texto.

Critérios de aceite

  • O usuário deve ser capaz de acessar a página respectiva a um artigo da Wiki e ler seu conteúdo.

Relacionado ao épico #29.

Deploy the database

Visando prover o banco de dados de forma que ele fique disponível para a aplicação em produção, esta issue tem como objetivo realizar o deploy em nuvem do PostgreSQL

Adicionar arquivo requirements.md na main

O arquivo requirements.md havia sido criado, mas estava na branch develop. Esta issue é responsável pelo merge do arquivo na main a partir da nova branch a3requirements.

Funcionalidade de listagem de comentários de um posts no fórum

Descrição

Como usuário, eu visualizar comentários de um post específico dentro fórum, de forma que eu consiga interagir com as funcionalidades associadas a ele, como votar.

Critérios de aceite:

  • Os comentários de um post deve ser exibidos e listados no fórum, associados ao post original.
  • A partir dos comentários exibidos, o usuário deve ser capaz de interagir com as funcionalidades restantes associadas ao comentário, como votar.

Relacionado ao épico #80.

Funcionalidades de criação, listagem e votação de posts no fórum

Descrição

Como usuário, desejo poder criar posts no fórum e interagir com outros usuários. É importante que os usuários possam interagir entre si nos posts criados e que exista uma forma de expressar quando um comentário ou discussão é mais interessante ou relevante do que outros.

Histórias relacionadas

  • História #25;
  • História #27;
  • História #76.

Criação de banco de dados para testes e tabelas iniciais

Para realizar os devidos testes durante o desenvolvimento, é necessário um SGBD disponível para a aplicação se comunicar. Assim, essa issue diz respeito à:

  1. Criar um arquivo docker-compose.yaml para o banco de dados de teste.
  2. Criar os scripts que irão criar as tabelas necessárias no banco de dados.

O banco deve, assim, ficar disponível localmente a partir de uma porta definida (PostgreSQL por padrão utiliza 5432).

Funcionalidade de criação de artigos na Wiki

Descrição

Como usuário, eu gostaria de criar artigos na Wiki. Estes artigos devem estar na formatação Markdown.

Critérios de aceite

  • O usuário deve ser capaz de criar um artigo na Wiki.
  • O artigo deve ter um conteúdo em formatação Markdown e um título

Relacionado ao épico #29.

Funcionalidade de comentar em posts no fórum

Descrição

Como usuário, eu quero comentar o post de um usuário, de modo que possa participar uma discussão proposta pelo post.

Critérios de aceite

  • O usuário deve conseguir escrever e enviar comentários em um post específico.
  • A resposta enviada deve ser exibida corretamente como um comentário associado ao post correspondente.

Relacionado ao épico #80.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.