«Good News App est un projet entièrement open source créé exceptionnellement à des fins éducatives. Il contient un backend (vous pouvez en voir la réponse si vous ouvrez ce lien https://api.good-news.ggc.team/v1/news/ ) écrit dans les applications mobiles de Golang, iOS et Android (que je publierai pour App Store et Google) réalisées avec Flutter et Frontend réalisé avec Hummingbird (Flutter for Web). Des liens vers des référentiels pour le code des applications mobiles et le frontend seront ajoutés plus tard lorsque j'aurai fini de travailler dessus. Mon code ne sera pas parfait en raison du fait que je ne suis pas super professionnel dans aucun de ces sujets, mais je ferai de mon mieux, promettez ✌️ Je suis un partisan d'une idée de partager les connaissances avec le monde, car il est toujours bon de partager ce que vous avez appris avec ceux qui pourraient lutter avec les mêmes problèmes auxquels vous avez été confronté et en le faisant, j'apprendrai également quelque chose de nouveau. Stratégie gagnant-gagnant.
Je suis en cours d'écriture de chapitres divisés en articles sur Medium. Ci-dessous, vous trouverez des liens vers eux. Ils seront mis à jour lorsque je finirai de travailler sur eux.
Article d'introduction - Vous trouverez ici toutes les informations d'introduction et liens vers d'autres chapitres également.
Tous les chapitres d'un "livre":
Et voici des articles du chapitre actuel (référentiel):
Afin de lancer ce projet localement, vous devez installer Golang et Docker sur votre machine.
Remarque: le code dans ce référentiel n'est pas une version finale de ce que j'ai dit dans mes articles. Par exemple, si vous souhaitez savoir comment publier ce projet sur Digital Ocean Droplet derrière Trafik Reverse Proxy avec HTTPS disponible sur votre propre domaine, vous devrez suivre tous les articles ci-dessus.
Tout d'abord, vous devez cd à l'endroit où votre $GOPATH pointe sur votre machine, puis cd à $GOPATH/src/github.com/<your_github_or_any_username> . Après cela, vous allez cloner ce référentiel, cd et l'exécuter avec Docker Compose. S'il vous plaît, assurez-vous que votre Docker est lancé avec succès tout en suivant les étapes ci-dessous. Les étapes sont donc:
> cd ~/go/src/github.com/kanzitelli/ - peut être différent du vôtre en fonction de votre $GOPATH et de votre nom d'utilisateur . Afin de vérifier où $GOPATH pointe, veuillez taper go env dans le terminal et vous le trouverez au début de la liste imprimée.> git clone https://github.com/kanzitelli/good-news-backend.git> cd good-news-backend/> docker-compose build && docker-compose up -dlocalhost:6969/v1/news/sources . Vous ne devriez rien voir, bien. Parce que nous devons également configurer MongoDB?> docker exec -it mongo mongo -u "GGCTeamBatr" -p "MySuperSecretPassword" --authenticationDatabase admin - pour ouvrir le shell de Mongo DB fonctionnant dans notre conteneur Docker> use good_news_db - nous changeons donc (créons) en db nécessaire> db.createUser({user: 'suuuper_user', pwd: 'soop3r_U$eR_PSWD', roles:[{role:'dbOwner', db:'good_news_db'}]}) - Création d'un super utilisateur> db.test_collection.insert({ test: "test" }) - Insertion des données de test pour tester la collecte> show collections - Affichage de toutes les collections de notre DB précédemment créé afin de nous assurer que notre collection de tests a été créée avec succès> exit - Dire au revoir à Mongo Shell> docker ps - Pour afficher tous les conteneurs Docker en cours d'exécution. Recherchez CONTAINER ID (première colonne) de Container Named api .> docker stop <api_contrainer_id> - Pour arrêter le conteneur API. Nous allons le réexaminer à l'étape suivante.> docker-compose build && docker-compose up -d - pour reconstruire notre conteneur docker avec de nouveaux paramètres appliqués à MongoDB..env à la racine du projet (au cas où vous souhaitez les changer)localhost:6969/v1/news/sources . Vous devriez maintenant voir des sources d'information qui sont pré-remplies avant le lancement du serveur. Après 3 minutes, vous pourrez voir les premières nouvelles rassemblées sur des sites d'information d'analyse en ouvrant localhost:6969/v1/news . Pourquoi 3 minutes? Suivez mes articles sur Medium pour comprendre queSi vous avez des commentaires ou des suggestions, n'hésitez pas à m'envoyer un e-mail à [email protected]? Si vous souhaitez savoir quand je publie de nouveaux articles, suivez-moi sur Twitter?