[DOCKER] En étudiant JQuery et Python jusqu'à la publication d'un service Web sur GCP
introduction
Comme COVID-19 a encore beaucoup de temps, je me suis demandé si je pouvais publier certains services à l'extérieur en utilisant JQuery, Python, etc., dont j'ai un peu de connaissance.
Après y avoir réfléchi, j'ai décidé de faire ce que je voulais utiliser. Il ** édite l'historique d'utilisation du mobile Suica afin qu'il puisse être facilement utilisé pour le règlement des dépenses **.
Cliquez ici pour le produit fini
https://www.mobilesuica.work
Niveau de l'écrivain
«La première fois que j'ai touché au programme, c'était lorsque j'ai utilisé le langage C dans la recherche universitaire il y a 25 ans.
Je n'y ai pas touché du tout après avoir obtenu mon diplôme universitaire, mais il y a environ 10 ans, j'ai commencé à créer des scripts pour accéder à l'API REST avec Ruby et Visual Basic, et il y a environ 2 ans avec Python (y compris en étudiant mes propres produits).
――À partir de février 2020 environ, demandez à une personne détaillée de l'entreprise de vous apprendre à mettre en œuvre cette architecture appelée Javascript + Python + Docker.
- Aucune expérience dans la fabrication de produits dits de niveau produit
architecture
La configuration suivante a été utilisée pour étudier les conteneurs et les clouds publics.
- ** Proxy inverse avec Nginx **
--Utilisez ** jwilder / nginx-proxy ** pour le proxy inverse
- ** docker-letsencrypt-nginx-proxy-compagnion ** pour créer un certificat. J'ai trouvé plus facile de l'utiliser comme un ensemble avec ce qui précède, alors j'ai décidé de l'utiliser.
- Serveur API REST ** Flask **
- Pour lire des fichiers PDF, utilisez ** tabula-py ** pour convertir en CSV tel quel
- Traitez CSV avec ** Pandas **
--Traitement du client avec JQuery
- L'affichage de la table et la sortie du fichier sont ** datatables **
-Utiliser ** Bootstrap **
- Fonctionne avec f1-micro / Container-Optimized-OS sur GCP.
Création de spécifications
Comme vous pouvez le comprendre des travailleurs qui se déplacent, l'historique d'utilisation de Mobile Suica est difficile à utiliser.
- Ne peut être imprimé qu'en PDF
- Puisque le filtre n'a que la date, il n'est pas possible d'omettre l'historique des achats dans les dépanneurs où les dépenses ne peuvent être réglées.
- Il n'y a pas de valeur totale en premier lieu
- Le montant d'utilisation est négatif sous forme de "différence"
- Il y a des éléments inutiles tels que "sortant", "entrant" et "montant restant"
L'objectif est de créer un service Web qui résout toutes les plaintes ci-dessus.
Les fonctions à implémenter sont les suivantes
- Vous pouvez télécharger le fichier PDF téléchargé à partir du site mobile Suica tel quel.
--Afficher sur le navigateur sous forme de tableau au même format que le site mobile Suica
- Autoriser les éléments à être filtrés librement avec des cases à cocher, etc.
--Ajouter la valeur totale des résultats filtrés
- Sortir le résultat filtré dans un fichier
Dès la prochaine fois, j'expliquerai comment l'implémenter côté serveur en Python.