? rechercher via des actifs itch.io à l'aide de requêtes de texte; Trouvez ce dont vous avez besoin sans compter uniquement sur les balises.
Visitez istchgrep.com pour commencer à explorer.
Nous avons un? Discord Server! C'est un endroit pour partager, apprendre et parler du développement de jeux et des projets qui nous passionnent. N'hésitez pas à nous rejoindre!
Votre soutien alimente notre passion et aide à faire fonctionner les serveurs! Si vous appréciez ce que nous faisons et que nous voulons contribuer à notre voyage, considérez:
Ces outils et technologies ont été choisis avec soin de fournir une expérience transparente et efficace pour les développeurs et les utilisateurs d'Itchgrep.

Si vous souhaitez contribuer ou exécutez simplement le projet localement pour votre propre usage, suivez les instructions ci-dessous.
Ce projet est construit et entretenu sur Linux. Bien que je ne pense pas qu'il soit généralement impossible d'exécuter sur Windows, mais le fichier de tâches est écrit à l'aide de commandes Linux.
Le projet est divisé en deux services:
dataservice , responsable de la récupération de la liste des actifs de itch.iowebserver , présentant les données stockées avec des outils de recherche.Utilisez le fichier de tâches inclus pour exécuter ces services.
task local-dataservicelancera ledataserviceavec une instance locale de GCS. Envoyez une demandeGETà son point de terminaison Trigger:curl -X GET "localhost:8080/trigger-fetch". Cela amènera le service à gratter les données de Itch.io, d'indexer l'informatique et de stocker les données et d'indexer sur le GCS local.
task local-dataservice-temp-fix . Cela exécute le dataservice sans docker.task local-webserver créera et exécutera le serveur Web dans un conteneur Docker avec le GCS local dans un conteneur séparé. Les modèles Templ ne sont pas copiés pendant la construction, mais générés à l'intérieur du conteneur.task templ générera des fichiers .go à partir de tous les fichiers .templ . Cela n'est pas requis pour la construction / l'exécution, mais pour fournir l'achèvement du code et empêcher le serveur de langue de se plaindre. Le projet a été créé avec l'intention d'héberger à la fois dataservice et webserver sur Google Cloud Run. Les données des actifs sont destinées à être stockées dans Google Cloud Store.
Google Cloud Run peut être remplacé par n'importe quelle plate-forme sans serveur, et Google Cloud Store peut être remplacé par n'importe quel magasin d'objets, mais certains travaux seront nécessaires s'il s'agit de votre objectif, et les instructions suivantes supposeront Google Cloud Services.
Pour déployer le projet sur Google Cloud, suivez les étapes ci-dessous.
gcloudQuelques étapes de préparation:
itchgrep-data . (Vous pouvez également utiliser un autre nom ici, mais vous devez ensuite modifier le const dans le fichier internal/storage/storage.go en conséquence)Cloud Run Invoker . Plus tard, nous joignons ce compte de service à un travail de planificateur, pour déclencher régulièrement une exécution du service de données.task gcloud-setup pour configurer gcloud pour une utilisation avec ce projet. Sinon, assurez-vous de configurer correctement manuellement.PROJECT_ID , REGION et LOCATION trouvées dans le Taskfile pour s'adapter à votre configuration de projet Google Cloud.task deploy-dataservice pour créer et déployer le service de données. À la fin, vous recevrez une URL de service pour le service de données nouvellement déployé.DATASERVICE_URL=https://dataservice-ly6n5ozylq-od.a.run.app
SERVICE_ACCOUNT_EMAIL=cloud-run-invoker@itchgrep.iam.gserviceaccount.com
go-task create-dataservice-scheduler-job Exécutez task deploy-webserver . Aucun autre travail ne devrait être nécessaire.
Les tests peuvent être exécutés en utilisant le fichier de tâche inclus.
task test : exécute toutes les tâches de test ci-dessous.task test-storage : teste le package storage , nécessite l'exécution Docker . go fmt pour formater votre code.