Giter Club home page Giter Club logo

comunidadestech's Introduction

CTech Logo Maintainability Website License: MIT Twitter Follow Discord

Comunidades.tech é um espaço de visibilidade e fortalecimento das comunidades de tecnologia

Sumário

Requisitos

  • Node v14.20.1 ou superior
  • Mongo v5.7.0 ou superior
  • Yarn v1.19.1 ou superior

Primeiros passos

  1. Faça um Fork do repositório.

  1. Após seguir os passos para fazer o fork, clone seu repositório localmente.
git clone <chave_copiada_no_passo_2>
  1. Duplique o arquivo .env.example e renomeie a cópia para .env.

  2. No arquivo .env, atualize a variável de ambiente JWT_SECRET_KEY com um valor de sua escolha.

    • Deixe esse arquivo aberto e siga o restante das instruções.

Criando um app teste

LinkedIn

  1. Acesse https://developer.linkedin.com/.

  2. Clique em Create app.

  1. Escolha um nome para seu app teste e após isso selecione a página da Impulso.

  1. Preencha o restante das informações obrigatórias e clique em Create app.

  2. Na aba Products, na opção Sign in with LInkedIn clique em Request access.

  1. Na aba Auth, adicione a URL http://localhost:3000/auth/linkedin.

  1. Nessa aba, você também encontrará um Client ID e um Client Secret.

    Utilize essas informações para preencher as seguintes variáveis de ambiente no arquivo .env :

     LINKEDIN_API_KEY="seu Client ID"
     LINKEDIN_SECRET_KEY="seu Client Secret"

Google

  1. Acesse https://console.cloud.google.com/ e clique no menu dropdown superior.

  1. Clique em NEW PROJECT, preencha o nome do projeto e clique em CREATE.

  2. Selecione o projeto recém criado, clique em APIs & Services e em OAuth consent screen.

  1. Selecione Internal e clique em CREATE.

  2. Preencha apenas o seguintes campos:

  • App name,
  • User suport email,
  • Developer contact information.
  1. Após clicar em SAVE AND CONTINUE selecione a sessão Credentials.

  1. Clique em Create credentials e selecione OAuth client ID.

  2. Em Application type selecione Web App e escolha um nome para seu client.

  3. Na sessão URIs de redirecionamento autorizados adicione a seguinte URI http://localhost:3000/auth/google_oauth2/callback e depois clique em CREATE.

  4. Copie seu Client ID e seu Client secret.

  5. Atualize as seguintes variáveis de ambiente no arquivo .env:

GOOGLE_CALLBACK_URL="http://localhost:3000/auth/google_oauth2/callback"
GOOGLE_CLIENT_ID="seu Client ID"
GOOGLE_SECRET="seu Client secret"

Instalando as dependências

  • Abra seu terminal e execute o comando
npm install

Configurando o banco de dados

  1. Acesse https://www.mongodb.com/ e crie uma conta ou acesse sua conta se já tiver uma.

  2. Ao criar sua conta, selecione a opção M0 e escolha um nome para seu cluster e clique em CREATE.

  1. Copie o password gerado e guarde para usar no passo 7.

  1. Clique em Create user e depois em Finish and close.

  2. Clique em Go to Databasese clique em connect.

  1. Selecione a opção Drivers e copie sua string de conexão que estará disponível no ítem 3 e será semelhante a esta:
mongodb+srv://<user>:<password>@cluster0.<clusterid>.mongodb.net/?retryWrites=true&w=majority
  1. Substitua pelo password que você armazenou no passo 3 e armazene essa string na variável de ambiente MONGODB_URI do arquivo .env.

  2. No seu terminal digite mongosh <string-de-conexão>. Ficará semelhante a este comando:

mongosh mongodb+srv://<user>:<password>@cluster0.<clusterid>.mongodb.net/?retryWrites=true&w=majority

Rodando o projeto

  1. Para evitar erros e fazer um update no banco de dados execute o comando npx browserslist@latest --update-db

  2. Execute o comando yarn dev para executar o projeto

  3. Acesse http://localhost:3000

Solucionando problemas

Caso você enfrente algum problema, certifique-se de estar utilizando a versão 14.20.1 do node. Você pode verificar sua versão do node utilizando o comando node -v. Caso sua versão seja diferente da recomendada para este projeto, instale a versão correta utilizando o comando nvm install 14.20.1

Se mesmo assim você continuar tendo problemas, peça ajuda na comunidade do Discord ou do Whatsapp

comunidadestech's People

Contributors

allanolivei avatar barbosamp avatar dependabot[bot] avatar depfu[bot] avatar dudunog avatar ineballardin avatar limma avatar marianaviana avatar omarciovsena avatar operfildoluiz avatar raquelfonseca avatar thejullius avatar theleoad 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  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  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

comunidadestech's Issues

URL para aplicação dos filtros

Quando selecionar uma categoria é necessário que atualizemos a URL para que seja compartilhada diretamente por um usuário.

Remover "Administradores" de tela quando não existe nenhum cadastrado

Contexto: No cadastro de uma comunidade, é possível mas não obrigatório informar os administradores dessa comunidade. E esse campo para serem exibidos os administradores aparece dentro da tela da comunidade, ao lado esquerdo da tela, abaixo das Stacks.

Problema: Quando não existe administradores continua sendo exibido o campo com o nome "Administradores" e abaixo dele fica em branco. Precisamos remover esse título quando não existirem administradores cadastrados para a comunidade.

Valor do issue: Conseguiremos deixar a tela mais limpa e evitar uma possível confusão do usuário mantendo um campo em tela que não possui valor.

Centralizar logo e nome da comunidade no mobile

Problema : Quando o site é acessado via navegador no computador, a imagem e nome das comunidades ficam centralizadas. Mas pelo mobile, quando é acessado o dashboard, o nome e a logo da comunidade aparecem descentralizados.

Valor do issue: Conseguiremos padronizar as páginas acessadas de todos dispositivos.

Ajustar visibilidade do texto do botão de filtrar no mobile

Contexto: Para filtrar uma comunidade é possível informar modelo, país, estado, cidade e nome.

Problema: Quando acessado o site pelo mobile e se mantém o dedo sobre o botão de filtrar o texto dele fica invisível. Deve ser ajustado o evento hover do navegador.

Valor do issue: Conseguiremos manter o padrão da visibilidade dos botões das telas.

Criar categorias de comunidades

Categorias sugeridas:

  • Frontend
  • Backend
  • Design
  • Mobile
  • Infra
  • QA
  • Javascript
  • React
  • Vue
  • Node.js
  • Angular
  • DevOps
  • Java
  • Python
  • Ruby
  • PHP
  • React Native
  • Flutter
  • Banco de Dados

Teste dos componentes

Precisamos implementar teste dos componentes e adicionar no circle ci.

  • Testes
  • Circle CI

Padronizar palavra "e-mail" com hífen

Problema: Em alguns lugares a palavra e-mail aparece sem o hífen. Por exemplo, na tela para se cadastrar uma comunidade, aparece "e-mail" de liderança e depois "Email" de administrador.

Valor do issue: Conseguiremos padronizar todo o site.

Alinhar campos do formulário de cadastro de comunidade no mobile

Problema: Quando é acessada a página de cadastrar uma comunidade do mobile, os campos aparecem mais a direita da tela e não centralizados. Exemplo de campos: Nome da comunidade, URL da comunidade, Tipo, Categoria e etc.

Valor do issue: Conseguiremos alinhar o posicionamento dos campos de tela de cadastrar comunidade assim como estão alinhados os campos das demais telas mantendo a padronização.

URL Slack not found

Boa tarde, estou querendo contribuir com open source, estou tentando executar a aplicação, mas mostra que precisa o url do slack no arquivo LogController, porém no .env.example e no readme.md não apresenta o valor das variáveis:

  • process.env.SLACK_CHANNEL
  • process.env.SLACK_LOG

Teria que usar conta da minha slack ou da comunidade para poder executar?

Ajustar alinhamento da descrição da comunidade.

Problema: Se for informado algo muito grande sem espaço, como um link, a descrição fica passando do card da comunidade no dashboard de comunidades criadas.

Valor do issue: Conseguiremos garantir que toda a descrição da comunidade ficará dentro do card de cada uma, corrigindo um bug.

Mudança na ordenação da lista de comunidades

Atualmente, a lista de comunidades na página inicial é ordenada alfabeticamente. Eu gostaria de sugerir uma mudança nessa funcionalidade. Em vez disso, eu acredito que a lista deve ser ordenada pela data de cadastro, com as comunidades mais recentes listadas primeiro. Isso permitiria que os usuários visualizassem as comunidades mais recentes sem ter que procurá-las manualmente.

Ou adicionar uma opção de filtro por ordem alfabética e por data de cadastro, sendo a opção de data de cadastro sempre sendo a padrão.

Ajustar carregamento de imagem de prévia

Contexto: Quando a compartilhado o link do ComunidadesTech em alguma outra plataforma, como o RocketChat ou redes sociais, não está carregando a logo do ComunidadesTech. Por exemplo, no RocketChat a imagem quebra e no Facebook aparece uma imagem de loading.

Problema: Não está carregando como imagem prévia a logo do ComunidadesTech.

Valor do issue: Conseguiremos manter o padrão de carregar como imagem prévia sempre a logo correta independente de onde for compartilhado o link.

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.