Giter VIP home page Giter VIP logo

glossario-ufcg's Introduction

OpenDevUFCG chat on Discord

Este repositório contém o código que faz o portal da OpenDevUFCG.

Objetivo

Objetivo do opendevufcg.org é ser um site de apresentação para qualquer um que queria saber quem é a OpenDevUFCG, contendo informações sobre o que fazemos, nossos valores, e também uma listagem de projetos e maintainers atuais.

A filosofia desse projeto é ser simples sempre!

Como funciona

O site é feito utilizando apenas o essencial, Javascript, HTML e CSS. Caso não conheça essas linguagens e como elas se comunicam, veja aqui.

Você pode encontrar o código na pasta docs/. Caso queira entender melhor do código, veja nosso Contributing

Desenvolvimento

Caso deseje fazer alterações no código, você pode rodar o site na sua máquina, basta apenas que você tenha algum browser. Recomendamos que você faça um Fork do repositório e o Clone para sua máquina:

git clone https://github.com/<seu_usuario>/opendevufcg.org

Substitua <seu_usuario> pelo seu usuário do github.

Após ter o código baixado, abra o arquivo docs/index.html no navegador de sua preferência, agora é só começar a codificar que você irá poder ver suas alterações no navegador!

Como Contribuir

Veja nosso CONTRIBUTING e o Código de Conduta.

glossario-ufcg's People

Contributors

aarthurguedes avatar caio-galvao avatar danielmitre avatar davidedup avatar davigsousa avatar dependabot[bot] avatar emys-alb avatar estacioneto avatar evelew avatar fanny avatar felipedaf avatar igor-rib-souza avatar ivynasantino avatar jkarlavige avatar jonathan-sh avatar joserenan avatar juanbarros2 avatar juliobguedes avatar leandraos avatar lucasmedeiros avatar luismafra avatar luizcieslak avatar marianabianca avatar monuelo avatar paulojbleitao avatar pedroespindula avatar raylamedeiros avatar ricardoandradem avatar richecr avatar thayannevls avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

glossario-ufcg's Issues

Preencher e melhorar os dados de termos que possuimos

Bem, vamos começar com uma historinha... Inicialmente a gente pensava no glossário apenas como um site pra gente descobrir o que significa algumas siglas do curso de computação... porém com o tempo a gente viu que tem muitos outros termos que poderíamos adicionar como gírias da universidade e etc. Por causa disso, maioria dos nossos dados continham apenas a sigla e o que ela significa "por extenso" por exemplo: P1 -> Programação 1 e etc...

Percebemos depois que algumas siglas não fazem tanto sentido se apenas dissermos o que ela significa por extenso, precisamos dar uma descrição mais detalhada... por exemplo:
P1 -> Programação 1 -> Disciplina do 1º período de ciencia da computação que [...]
Um texto curtinho apenas para ficar claro para o leitor do que se trata o termo.

Também precisamos adicionar aplicações em frases para todos os termos que já temos, conforme o padrão na nossa documentação dos dados (nessa parte pode esquecer a seriedade e tentar ser engraçadinho, mas sem desrespeitar ninguém taokei?).

[EDIT] Se você caiu nessa issue antes de ver nosso README, seria uma boa dar uma olhada no nosso CONTRIBUTING.md pra ver como a gente organiza os dados e etc... Se tiver problemas com git ou com qualquer outra coisa sobre como ajudar nessa task, pode falar com a gente no gitter que a gente te ajuda!!!

[EDIT2] Podem seguir o padrão do PR #47

Segue abaixo a lista de termos que ainda estão faltando esses dados:

Cursos:

  • CC Ciência da Computação

Disciplinas:

Para a descrição das disciplinas não precisa de muita informação, basta informar qual período ela é ofertada, se é obrigatória ou optativa, se existe com outro nome na nova grade ou na grade antiga... essas curiosidades pequenas só pra contextualizar.

  • AA Algoritmos Avançados
  • ADSD Avaliação de Desempenho de Sistemas Discretos
  • AS Análise de Sistemas
  • ATAL Análise e Técnicas de Algoritmos
  • BD Banco de Dados I
  • BD2 Banco de Dados II
  • CDD Ciência de Dados Descritiva
  • CDP Ciência de Dados Preditiva
  • CG Computação Gráfica
  • DACA Desenvolvimento de Aplicações Corporativas Avançadas
  • EDA Estrutura de Dados e Algoritmos
  • ES Engenharia de Software
  • ETI Economia de Tecnologia da Informação
  • FMCC1 Fundamentos de Matemática para Ciência da Computação I
  • FMCC2 Fundamentos de Matemática para Ciência da Computação II
  • GR Gerência de Redes
  • IA Inteligência Artificial
  • IC Introdução à Computação
  • IRC Interconexão e Redes de Computadores
  • JoDi Jogos Digitais
  • LEDA Laboratório de Estrutura de Dados e Algoritmos
  • LOAC Laboratório de Organização e Arquitetura de Computadores
  • LP1 Laboratório de Programação 1
  • LP2 Laboratório de Programação 2
  • MSN Métodos e Softwares Numéricos
  • OAC Organização e Arquitetura de Computadores
  • P1 Programação 1
  • P1 Projeto 1
  • P2 Programação 2
  • P2 Projeto 2
  • PC Programação Concorrente
  • PLP Paradigmas de Linguagem de Programação
  • SAD Sistemas de Apoio à Decisão
  • SO Sistemas Operacionais
  • TC Teoria da Computação
  • TCC Trabalho de Conclusão de Curso
  • TG Teoria dos Grafos
  • VC Visão Computaciona
  • VVS Verificação e Validação de Software

Gírias:

Nas gírias, elas só precisam basicamente de mais aplicações em frases, mas se quiserem adicionar mais informações sobre o porquê de usar essa gíria, ou de onde ela surgiu... é muito bem vindo!!!

  • BOLA
  • LEITE
  • PIJAMA

Locais:

Nas descrições dos locais seria bom ter informações de o que é o local, em que bloco fica por exemplo, ou coisas do tipo "na frente da biblioteca"... e etc, futuramente pensamos em adicionar coordenadas e mostrar um mapa como foi dito na issue #18 mas são cenas dos próximos capítulos....

  • LCC1 Laboratório de Ciência da Computação 1
  • LCC2 Laboratório de Ciência da Computação 2
  • LCC3 Laboratório de Ciência da Computação 3
  • LSD Laboratorio de Sistemas Distribuidos
  • SPLab Software Practices Laboratory

Outros:

Nesses eu peço pra tentarem ser o mais descritíveis o possível, pois não temos uma categorização por tipo bem definida, o que complica um pouco mais o entendimento sobre que se trata o termo

  • RDM Relação de disciplinas matriculadas
  • TECC Tópicos Especiais em Ciência da Computação
  • SDF Semana do Fera
  • CF CodeForces
  • Contest Contest

VALENDO!!!!!!!!

Separar os dados dos termos em várias coleções

Atualmente os dados do data.js estão acumulando siglas, blocos, gírias, disciplinas, etc numa só coleção. Porém, cada tipo de termo requer uma estrutura específica e essa abordagem também dificulta a contribuição... Por isso, qual seria a melhor forma de reestruturar esses dados?

Refatoramento para usar uma pagina apenas pra o glossario

Descrição da melhoria:
Refatorar codigo para não haver duas paginas separadas. Atualmente existe a pagina de resultados e a home do glossario.

Necessidade da melhoria:
Evitar codigo duplicado e facilitar a manutenção futuramente.

Como ela pode ser implementada:
A partir de propriedades css pode-se esconder e mostrar os resultados da pesquisa num container.

Nome de alguns laboratórios

Nome do termo:

LSD, SPLab...

Significado do termo:

Laboratório de Sistemas Distribuídos, Software Practices Laboratory...

Descrição:

Laboratórios dentro da UFCG

Tipo:

  • Curso
  • Disciplina
  • Giria
  • Local
  • Outro

Exemplo de aplicação em frase:

"A aula de P1 hoje será no SPLab."
"A sala da professora Lívia fica no LSD"

Adicionar novos termos

Adicionar termos pedidos por @pedroespindula na #77

Nome do termo:

  • SEI: Sistema Eletronico de Informações
  • PRE: Pro Reitoria de Ensino
  • CEEI: Coordenação de Engenharia Eletrica e Informatica
  • AMARELINHA: Xerox Amarelinha
  • Laguinho

Adicionar links levando a mapas para termos que representam locais

Foi levantado o tópico sobre ter mais informações, de modo que ao mostrar o que a sigla significa, mostrar também uma breve explicação sobre o que é. Além disso, modificações para incluir hiperlinks levando à mapas, para o exemplo de siglas de blocos (e.g. CAA), devem também ser feitas.

Incluir categoria estabelecimento para termos

Descrição da melhoria:
Incluir categoria de estabelecimento nos termos, talvez incluindo também o link do Google maps.

Necessidade da melhoria:
Estabelecimentos como xerox e restaurantes são úteis para novatos na Universidade que não conhecem.

Como ela pode ser implementada:
Adição do termo no json dos dados e adição de campo google maps.

Adicionar suporte à markdown/html

Descrição da melhoria:
Muitas das coisas que fazemos podem ser auxiliadas com links. Tendo isso em vista, é interessante adicionar um suporte à Markdown ou HTML nas descrições.

Necessidade da melhoria:
A melhoria é necessária pois, por exemplo, ao adicionarmos lugares (blocos, por exemplo), é interessante adicionarmos links para o google maps indicando a localização. Essa é apenas uma necessidade inicial, e por ajudar bastante os feras, tem grande importância.

Como ela pode ser implementada:
É possível implementar facilmente através do uso do React Markdown ou similares

Reorganizar os componentes diferenciados por views

Descrição da melhoria:
Separar melhor os componentes de acordo com suas Views e talvez melhorar os nomes dos componentes também.

Necessidade da melhoria:
A atual estrutura de diretório de componentes está confusa e será implementado novas páginas, o que torna ainda mais confuso. Se faz necessário em separar melhor os componentes e agrupá-los de maneira que faça sentido.

Como ela pode ser implementada:
Uma sugestão é a maneira que o Musicritic organiza seus componentes.

Outros types para o data.js

Seria legal criar uma listinha dos types existentes (com a definição do que ele contém) e como definir novos types... Por exemplo, pra colocar PRE no data.js, qual seria o type adequado?

Suporte a gírias e expressões da universidade

Atualmente o Glossário está dando suporte aos significados diretos das siglas comumente usadas em ciência da computação na UFCG, porém parte dos termos que os feras não costumam conhecer são gírias e expressões como: bola, leite, tamburete, pijama e etc.

Acredito que não precisaríamos modificar nossa estrutura atual para adicionar isso, porém seria interessante adicionar um atributo que tivesse exemplos de aplicação em frase daquelas expressões para facilitar o entendimento da expressão

Hot Reload CSS

Atualmente o webpack não está atualizando automaticamente a página ao alterar algum CSS em modo de desenvolvimento.

Adicionar Favicon

Apesar de possuir o arquivo de Favicon no caminho assets/images/favicon.ico, o favicon não é mostrado.

Funcionalidade do botão de pesquisa

Descrição da melhoria:
Botão de pesquisa poderia ser usado para procurar em todos os termos.

Necessidade da melhoria:
Atualmente o botão de pesquisa não apresenta funcionalidade.

Como ela pode ser implementada:
Criação de um filter na lista de acronimos com o resultado do input.

Adicionar localizações de termos do tipo "local"

Descrição da melhoria:
A maioria dos termos do tipo local não possui uma localização. A melhoria é adicionar a esses termos essa localização.

Necessidade da melhoria:
Facilitar a identificação e acesso do local pelos estudantes.

Como ela pode ser implementada:
Seguir o modelo implementado no termo LCC1, que usa de um link no maps para mostrar a localização. Esse link é usado como um link comum em MarkDown, ou seja:
[nome do link](https://link.com)
Para descobrir o link da localização, vá no google maps e procure pela UFCG. Ao encontra-la procure pelo local a qual você quer conseguir a localização e ao encontra-lo clique nele. Esse será o link da localização.

Imagens:

  • Termo com localização já implementada:
    Screenshot from 2019-03-29 21-56-04

  • Localização quando acessada:
    Screenshot from 2019-03-29 21-54-48

Tornar o site responsivo

É uma das maiores prioridades atualmente, acredito que a maioria dos usuários acessará pelo celular. 🤔

Adicionar o termo PRAC

Nome do termo: PRAC

Significado do termo: Pró-Reitoria de Assuntos Comunitários

Descrição: A Pró-Reitoria de Assuntos Comunitários é um órgão assessor da direção superior responsável por auxílios estudantis, suporte comunitário, organização do atendimento psicológico, etc.

Tipo:

  • Curso
  • Disciplina
  • Giria
  • Local
  • Outro

Exemplo de aplicação em frase: "Entre em contato com a PRAC caso precise de auxílio moradia, transporte, alimentação, etc!"

Criar um issue template especial para adição de termo

Descrição da melhoria:
Algumas pessoas apenas querem sugerir a adição de um termo para que outra pessoa adicione nossos dados. Seria interessante criar um issue template especial para esse tipo de request, que a pessoa preencha direitinho esses campos:

  • Nome do termo
  • Significado
  • Descrição
  • Tipo (Mostrar os tipos que tem pra ele escolher, pode ser um checkbox que ele marca o que ele quer)
  • Exemplos com as aplicações de frase

Ordenar o arquivo com os dados dos termos alfabeticamente

Acredito que o nosso arquivo de dados que contém os significados está crescendo bastante e não teremos um bom controle se crescer mais. Gostaria de sugerir a correção do formato para que fosse utilizado uma lista em ordem alfabética para evitar duplicações e retrabalho.

Colocar link do site no README.

Descrição da melhoria:
Colocar link do site no README do repositório.

Necessidade da melhoria:
Para dar mais visibilidade ao site.

Adicionar termo "Fera"

Nome do termo:

Fera

Significado do termo:

Novo aluno no curso.

Descrição:

Termo geralmente usada para designar novos alunos nos cursos de faculdade.

Tipo:

  • Curso
  • Disciplina
  • Giria
  • Local
  • Outro

Exemplo de aplicação em frase:

"Andando pelos corredores sorrindo? Só pode ser fera..."

Retirar link do Gitter do README.md e adicionar o Discord

Descrição da melhoria:
No arquivo README.md, possui o seguinte:

Sinta-se livre para reportar erros, tirar dúvidas, dar sugestões e mandar mensagens bonitinhas pra gente nas issues heart e não esquece de entrar no nosso channel no gitter pra conversar com a gente!!

Ao invés de nosso canal no gitter, colocar nosso canal no Discord, com o devido link.

Necessidade da melhoria:
Não utilizamos mais o Gitter, e as pessoas poderiam achar que ainda estamos por lá e que serão respondidas.

Como ela pode ser implementada:
Trocar o texto para nosso canal no Discord e alterar o link.

Imagens:
image

Corrigir script de pre-commit

Descreva o bug
Enquanto o script de pre-commit estava implementado em python, ele ordenava os dados antes do commit. Entretanto, após ser refeito em Node, agora os dados alterados pelo script não são incluídos no commit

Reprodução do bug
Passos para reproduzir o comportamento indesejado:

  1. Altere algum dos arquivos de dados (em src/lib) de forma a alterar a ordem alfabética de um dos arquivos
  2. Faça um commit
  3. Perceba que, após ser o commit ser feito, existem alterações não adicionadas no repositório, resultantes de rodar o script.

Comportamento desejado
Era desejado que o script de reordenação adicionasse as alterações que ele mesmo fez nos dados.

Capturas de tela
Se aplicável, adicione capturas de tela para ajudar na descrição do problema

Desktop:

  • SO: MacOS Mojave
  • Navegador: Chrome
  • Versão: 72.0.36

Adicionar efeito de hover nos botões

Descrição da melhoria:
Os Links "Como Contribuir" e "Quem Somos" podem ter um efeito de hover simples e minimalista.

Necessidade da melhoria: Melhorar o design da página e passar melhor a impressão que é "clicavel"
Como ela pode ser implementada: Talvez um efeito que mude um pouco a cor para mais clara ou escura

Links externos

Descrição da melhoria:
Adicionar links externos nos termos já existentes, quando possível.

Necessidade da melhoria:
Alguns dos nossos termos se referem à outras comunidades dentro de CC@UFCG: Elas, Caesi, Guardians, etc. Desse modo, seria interessante linkar os perfis e/ou páginas das outras comunidades aqui no glossário, facilitando assim o acesso às informações mais recentes das outras comunidades, e também atuando como uma divulgação.

Como ela pode ser implementada:
Se bem me recordo, renderizamos os textos do glossário com Markdown. Assim, é necessário apenas editar as descrições desses termos, incluindo links.

Contexto adicional:
Talvez seja interessante consultar alguém que faça parte desses grupos para entender o melhor link, perfil, ou rede social a ser linkado. Além disso, pode ser linkado mais de um perfil, caso o texto não fique excessivo.

Adicionar optativas Gerais

Pessoal, as optativas gerais não vão ser adicionadas?

[EDIT]

A seguinte lista de optativas gerais não está ainda no glossário:

(Se alguma das disciplinas listadas não for uma optativa geral, ou não fizer sentido estar aqui, comente abaixo)

  • Língua Portuguesa (antes Leitura e Produção de Textos)
  • Informática e Sociedade
  • Economia
  • Direito e Cidadania
  • Inglês
  • Administração e Empreendedorismo
  • Administração

Refatoramento do componente TermCard

Descrição da melhoria:
Renomear o componente para TermCard e fazer ele customizável, tendo props de tamanho e estilo.

Necessidade da melhoria:
O card pode ser usado para outros contextos além da página de resultados da pesquisa.

Como ela pode ser implementada:
Criar props para tamanho, e se preciso de estilo também. Definir os tipos possíveis, e talvez usar proptypes.

Criaçao de componente para o header

Descrição da melhoria:
Atualmente, nós nao temos um componente para o header, isso é feito via css, dependendo do que a pagina possui.

const glossaryContainerClass = this.isSearchEmpty() ? "glossary__container--has-not-search" : "glossary__container--has-search";

Necessidade da melhoria:
Isso dificulta o desenvolvimento de novas paginas que precisem fazer uso do mesmo.

Como ela pode ser implementada:
Criar um componente Header que só sera exibido, nos componentes em que foi incluido ou a partir de determinada rota.

Adicionar efeito ao passar o mouse no termo em "Você sabe..."

Descrição da melhoria:
Quando passar o mouse no termo que aparece em "Você sabe o que é ..." era bom adicionar algum efeito ao passar o mouse por cima (hover)

Necessidade da melhoria: para passar melhor a impressão de clicável

Como ela pode ser implementada:
Talvez sublinhá-lo ao passar o mouse

Lint falhando e adição de proptypes

Descrição da melhoria:
Extinguir falhas do lint.

Necessidade da melhoria:
Deseja-se usar a verificação do lint no travisCI, e, para não quebrar a pipeline, essas falhas devem ser corrigidas.

Como ela pode ser implementada:
A maioria dessas falhas está relacionada com a validação de props faltando, com isso, deve-se usar propTypes para validar isto.

Adicionar termos relacionados ao github e contribuições

Nome dos termos:

Fork, PR, Issue, Commit (e outros que acharem interessantes)

Contexto adicional:

Esses termos foram solicitados por feras que procuraram no glossário alguns termos que acharam nos nossos readmes e não encontraram... Seria mto bom ter eles aqui

Glossário não está mais responsivo em mobile.

Descreva o bug
A interface não está mais se adaptando em telas pequenas, o que é estranho por que antes se adaptava normalmente.

Reprodução do bug
Abra glossário no celular ou na parte responsiva do devtools do seu browser.

Comportamento desejado
Ser responsivo a tela.

Capturas de tela
Screenshot from 2019-10-09 15-11-41

Redirecionamento de rota

Descrição da melhoria:
Permitir acesso às páginas independente se o termo foi escrito idêntico à entrada ou não.

Necessidade da melhoria:
Atualmente, é possível acessar diretamente o significado de um termo por sua URL, a exemplo de https://glossario.opendevufcg.org/#/SO. Entretanto, caso seja digitado o SO em minúsculo na URL (https://glossario.opendevufcg.org/#/so), somos redirecionados para a página de 404, quando o comportamento desejado é ser redirecionado para a mesma página.

Como ela pode ser implementada:
Pode ser corrigida adicionando um toLowerCase ao recuperar o termo.

Siglas com multiplos sentidos

Algumas siglas usadas na UFCG tem mais de um sentido. P1, por exemplo, pode ser usada tanto para se referir a cadeira de programação 1, como também sobre a cadeira de Projeto 1, assim como o primeiro periodo do curso.

Corrigir Alinhamento

Sempre que pesquisamos por alguma sigla no glossário, o resultado por extenso não fica centralizado:
image

Isso deve ser corrigido, de forma a dar uma melhor aparência ao site

Configurar o travis para rodar o lint

O travis não está rodando o lint, é preciso configurar pra rodar o comando yarn run lint. Acompanhado dessa task tem que resolver os erros já existentes.

Visualização do glossario de forma exploratoria

Descrição da melhoria:
O usuário disse que entendeu que a intenção é você entrar e pesquisar o termo, mas ele sentiu a necessidade de dar a experiência de navegação e conhecer a plataforma, no caso poder clicar em termos e ver significados.

Necessidade da melhoria:
Sugeriu uma listagem de termos onde o usuário possa clicar e veja o significado, dessa forma ele pode ver como a plataforma funciona e ser exploratório.

Como ela pode ser implementada:
Uma listagem de todos os termos, talvez separado por categorias, onde o usuário clica e mostra o significado.

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.