Während des Studiums von JQuery und Python bis zur Veröffentlichung eines Webdienstes auf GCP
Einführung
Da COVID-19 noch viel Zeit hat, habe ich mich gefragt, ob ich mit JQuery, Python usw., von denen ich ein wenig weiß, einige Dienste nach außen veröffentlichen könnte.
Nachdem ich darüber nachgedacht hatte, beschloss ich, das zu machen, was ich verwenden wollte. Es wird ** der Nutzungsverlauf von Mobile Suica so bearbeitet, dass es problemlos zur Kostenabrechnung verwendet werden kann **.
Klicken Sie hier für das fertige Produkt
https://www.mobilesuica.work
Schreibniveau
――Das erste Mal, dass ich das Programm berührte, war, als ich vor 25 Jahren in der universitären Forschung die Sprache C verwendete.
――Ich habe es nach meinem Universitätsabschluss überhaupt nicht angefasst, aber vor ungefähr 10 Jahren habe ich angefangen, Skripte für die REST-API mit Ruby und Visual Basic zu erstellen, und vor ungefähr 2 Jahren mit Python (einschließlich des Studierens meiner eigenen Produkte).
――Bitten Sie ab Februar 2020 eine ausführliche Person im Unternehmen, Ihnen die Implementierung dieser Architektur mit dem Namen Javascript + Python + Docker beizubringen.
- Keine Erfahrung in der Herstellung von Produkten auf Produktebene
die Architektur
Die folgende Konfiguration wurde verwendet, um Container und öffentliche Clouds zu untersuchen.
- ** Proxy mit Nginx umkehren **
--Verwenden Sie ** jwilder / nginx-proxy ** für den Reverse-Proxy
- ** Docker-Letsencrypt-Nginx-Proxy-Begleiter **, um ein Zertifikat zu erstellen. Ich fand es einfacher, dies als Set mit den oben genannten zu verwenden, also entschied ich mich, es zu verwenden.
- ** Flask ** REST-API-Server
- Zum Lesen von PDF-Dateien verwenden Sie ** tabula-py **, um so wie es ist in CSV zu konvertieren
- CSV mit ** Pandas ** verarbeiten
- Den Client mit JQuery verarbeiten
- Tabellenanzeige und Dateiausgabe sind ** Datentabellen **
-Verwenden Sie ** Bootstrap **
- Betreibt mit f1-micro / Container-Optimized-OS auf GCP.
Spezifikationserstellung
Wie Sie von arbeitenden Menschen verstehen können, ist die Nutzungshistorie von Mobile Suica schwierig zu verwenden.
- Kann nur als PDF ausgegeben werden
- Da der Filter nur das Datum enthält, kann die Geschichte des Einkaufs in Convenience-Stores, in denen die Kosten nicht abgerechnet werden können, nicht ausgelassen werden.
- Es gibt überhaupt keinen Gesamtwert
- Der Nutzungsbetrag ist negativ in Form von "Differenz"
- Es gibt nutzlose Elemente wie "out", "in" und "restbetrag".
Ziel ist es, einen Webdienst zu erstellen, der alle oben genannten Beschwerden löst.
Folgende Funktionen sollen implementiert werden
- Sie können die von der mobilen Suica-Website heruntergeladene PDF-Datei so wie sie ist hochladen.
- Anzeige im Browser als Tabelle im selben Format wie die mobile Suica-Site
- Ermöglichen das freie Filtern von Elementen mit Kontrollkästchen usw.
- Fügen Sie den Gesamtwert der gefilterten Ergebnisse hinzu
- Das gefilterte Ergebnis in eine Datei ausgeben
Ab dem nächsten Mal werde ich erklären, wie es auf der Serverseite in Python implementiert wird.