caiopetruccirosa / mc426-2023s1 Goto Github PK
View Code? Open in Web Editor NEWRepositório/Wiki e fórum sobre conteúdos associados a disciplinas da Unicamp
Repositório/Wiki e fórum sobre conteúdos associados a disciplinas da Unicamp
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.
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.
Relacionado ao épico #80.
Como usuário, eu desejo criar um post no fórum, que pode estar associado a um artigo existente na Wiki.
Relacionado ao épico #24.
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:
É 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 que permita que usuários possam fazer postagens e possam recuperar uma postagem pelo seu ID.
Os endpoints implementados devem ser:
/posts/:id
;/posts
.Criação do FrontEnd da aplicação
A implementação de um Singleton para o componente Pool de Conexões, descrito no diagrama C4 de arquitetura do projeto, deve conter a pool de conexões com o banco e unificar o gerenciamento de conexões e clients de comunicação com o banco de dados.
A implementação desse ser feita seguindo a seguinte referência:
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:
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.
Como usuário, eu gostaria de acessar uma página que contenha a listagem de todos os artigos da Wiki.
Relacionado ao épico #29.
Como usuário, eu visualizar posts dentro fórum, de forma que eu consiga interagir com as funcionalidades associadas a ele, como votar.
Relacionado ao épico #24.
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.
Relacionado ao épico #24.
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:
Criação da aplicação do servidor utilizando o framework Express.js e a linguagem de programação Typescript.
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.
Relacionado ao épico #29.
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.
Relacionado ao épico #29.
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
Atualmente, quando a aplicação perde comunicação com o banco ela crasha. Devemos corrigir o comportamento adicionando políticas de retry e devolvendo o devido erro ao client, quando necessário.
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
.
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.
Relacionado ao épico #80.
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.
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 à:
O banco deve, assim, ficar disponível localmente a partir de uma porta definida (PostgreSQL por padrão utiliza 5432).
Como usuário, eu gostaria de criar artigos na Wiki. Estes artigos devem estar na formatação Markdown.
Relacionado ao épico #29.
Como usuário, eu quero comentar o post de um usuário, de modo que possa participar uma discussão proposta pelo post.
Relacionado ao épico #80.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.