issue-wanted é um aplicativo da Web focado em melhorar a comunidade Haskell de código aberto, centralizando os problemas do GitHub em muitos repositórios de Haskell em um único local. Os objetivos do issue-wanted são facilitar para os programadores de todos os níveis de habilidade encontrar projetos Haskell para contribuir, aumentar o número de contribuições para os projetos Haskell de código aberto e incentivar mais programadores a se tornarem parte da comunidade Haskell.
O trabalho principal deste projeto foi realizado durante o Google Summer do Code 2019. Para qualquer pessoa interessada nos detalhes de como foi implementado issue-wanted e por que certas opções de design foram feitas, confira estas postagens do blog:
Você precisará ter o seguinte instalado no seu sistema para criar e testar issue-wanted . Clique nos links para aprender como instalar cada um:
libpq-dev : execute o comando sudo apt install libpq-dev para instalar. Com docker instalado, abra um terminal (verifique se você está no diretório issue-wanted ) e execute o comando make postgres . Isso configurará o banco de dados para você e você deve estar pronto para ir!
Siga as instruções em How to run server e testar os pontos de extremidade para ver se tudo está configurado corretamente.
Consulte a edição nº 81 se você ainda estiver tendo problemas.
Para construir o projeto, abra um terminal na pasta base e execute
stack buildou
cabal v2-buildSe algum tipo for alterado, um deve atualizar os tipos gerados para ELM, executando:
stack run generate-elmou
cabal v2-run generate-elm Para testar o servidor issue-wanted siga estas etapas:
stack buildstack exec issue-wanted de comando O servidor começará a ser executado em http://localhost:8080/ .
Pontos de extremidade de emissão disponíveis:
| Endpoint | Descrição |
|---|---|
/issues | Retorna todos os problemas. |
/issues/:id | Retorna um único problema com o ID correspondente. |
/issues?label=<label name> | Retorna uma lista de problemas com o rótulo correspondente. |
Dica: se você parar de executar o servidor e, em seguida, tente reiniciá -lo, pode ser necessário executar o comando
fuser -n tcp -k 8080para libertar a porta.
make postgres (este comando executará o banco de dados em um contêiner do docker)stack test de execução do terminal ou cabal new-test Quando o Instantamento stack é atualizado, você precisa atualizar Dockerfile de acordo e empurrar a nova imagem do Docker para o Docker Hub. Isso só pode ser feito se você tiver acesso às credenciais da conta.
Execute os seguintes comandos:
docker build . -t kowainik/haskell-ci
docker push kowainik/haskell-ci
Atualmente, o frontend é implementado usando Elm .
elmnpmcreate-elm-app : Para instalar o Run npm install -g [email protected] Nota: Todas as ações devem ser realizadas na pasta frontend :
cd frontend/npm installelm-app startnpm run-script watch-css O front -end começará a correr em http://localhost:3000/ .