issue-wanted est une application Web axée sur l'amélioration de la communauté Haskell open source en centralisant les problèmes de GitHub dans de nombreux référentiels Haskell en un seul emplacement. Les objectifs de issue-wanted sont de faciliter la recherche de projets Haskell aux programmes pour trouver plus facilement le nombre de contributions aux projets open source Haskell et d'encourager davantage de programmeurs à faire partie de la communauté Haskell.
Les principaux travaux sur ce projet ont été réalisés pendant Google Summer of Code 2019. Pour toute personne intéressée par les détails de la mise en œuvre de la mise en œuvre issue-wanted et de la raison pour laquelle certains choix de conception ont été faits, consultez ces articles de blog:
Vous devrez installer les installations suivantes sur votre système afin de construire et de tester issue-wanted . Cliquez sur les liens pour apprendre à installer chacun:
libpq-dev : Exécutez la commande sudo apt install libpq-dev pour installer. Avec docker installé, ouvrez un terminal (assurez-vous que vous êtes dans le répertoire issue-wanted ) et exécutez la commande make postgres . Cela configurera la base de données pour vous et vous devriez être prêt à partir!
Suivez les instructions sous How to run server et tester les points de terminaison pour voir si tout est configuré correctement.
Reportez-vous au numéro 81 si vous avez toujours des problèmes.
Pour construire le projet, ouvrez un terminal dans le dossier de base et exécutez
stack buildou
cabal v2-buildSi des types sont modifiés, il faut mettre à jour les types générés en Elm en fonctionnant:
stack run generate-elmou
cabal v2-run generate-elm Pour tester le serveur issue-wanted suivez ces étapes:
stack buildstack exec issue-wanted commande Le serveur commencera à fonctionner sur http://localhost:8080/ .
Points de terminaison artisanaux disponibles:
| Point final | Description |
|---|---|
/issues | Renvoie tous les problèmes. |
/issues/:id | Renvoie un seul problème avec l'ID correspondant. |
/issues?label=<label name> | Renvoie une liste de problèmes avec l'étiquette correspondante. |
Conseil: si vous arrêtez d'exécuter le serveur et essayez ensuite de le redémarrer, vous devrez peut-être exécuter le
fuser -n tcp -k 8080pour libérer le port.
make postgres (cette commande exécutera la base de données dans un conteneur docker)stack test run ou cabal new-test Lorsque stack Snapshot est mis à jour, vous devez mettre à jour Dockerfile en conséquence et pousser une nouvelle image Docker sur Docker Hub. Cela ne peut être fait que si vous avez accès aux informations d'identification du compte.
Effectuez les commandes suivantes:
docker build . -t kowainik/haskell-ci
docker push kowainik/haskell-ci
Actuellement, Frontend est implémenté à l'aide de Elm .
elmnpmcreate-elm-app : Pour installer Run npm install -g [email protected] Remarque: Toutes les actions doivent être effectuées dans le dossier frontend :
cd frontend/npm installelm-app startnpm run-script watch-css Frontend commencera à fonctionner sur http://localhost:3000/ .