Dieses Repository enthält eine Full-Stack-Webanwendungsvorlage, die auf dem FARM-Lösungsstack ausgeführt wird, der für Folgendes steht:
Der FARM-Stack ist mehr oder weniger eine Erweiterung des LAMP-Stacks mit diesen bemerkenswerten Änderungen:
Flask wird zum Schreiben der Web-APIs/Middleware verwendet, die zwischen der Web-Benutzeroberfläche und dem Web-Backend/der Datenbank kommunizieren können. Dies ist der Kern der gesamten Anwendung, der die Teile der Full-Stack-Anwendung zusammenhält.
Beachten Sie, dass diese spezielle Vorlage kein ORM verwendet, sondern stattdessen das pymysql
Modul. Dies bedeutet, dass Entwickler SQL-Abfragen schreiben müssen, aber die Komplexität der Abfragen maximieren können, die sie für die Ausführung in der Datenbank benötigen.
AWS ist der Cloud-Dienst, auf dem die Anwendung gehostet werden kann. Wir können den gesamten Software-Stack auf den folgenden Diensten hosten:
Dies bedeutet, dass Entwickler alles auf einer Plattform behalten und den DevOps-/IT-Aufwand minimieren können.
React ist das Framework, auf dem die Web-Benutzeroberfläche ausgeführt wird. Die React-Anwendung kann auch auf AWS Lambda mit NodeJS ausgeführt werden.
Diese Vorlage verwendet JavaScript/JSX, es kann jedoch auch TypeScript verwendet werden.
MySQL ist die relationale Datenbank, die das Web-Backend verwendet. Dies kann über den RDS-Service auch auf AWS gehostet werden.
Um diese Webanwendung auszuführen, muss Folgendes getan werden:
db/
ein.Um die MySQL-Instanz einzurichten, gehen Sie folgendermaßen vor:
mysql
auf der Linux-Befehlszeilenschnittstelle.sample.sql
innerhalb der Instanz aus. Es wird ein Schema namens SampleInventory
erstellt und dann eine Tabelle namens Inventory
initialisiert. Die Codebasis für die Flask-API finden Sie im Verzeichnis api/
.
virtualenv farm-stack
nachdem Sie zu diesem Verzeichnis navigiert haben.source farm-stack/bin/activate
api/
und führen Sie pip3 install -r requirements.txt
aus, um alle für die API erforderlichen Python-Module zu installieren.dbcreds.py
im Verzeichnis api/
und bearbeiten Sie die Datenbankanmeldeinformationen nach Bedarf. python3 app.py
aus, um die API auf http://localhost:8080
auszuführen. Die Codebasis für die React-Benutzeroberfläche finden Sie im Verzeichnis ui/
. Diese Vorlage verwendet yarn
als Paketmanager; Es ist wichtig, dass Entwickler beim Hinzufügen neuer Module keine anderen Paketmanager wie npm
mischen.
Beachten Sie, dass Pakete wie react-bootstrap
in dieser Vorlage fehlen.
yarn install
aus, um alle erforderlichen Abhängigkeiten zu installieren. yarn start
aus, um im Entwicklungsmodus ausgeführt zu werden.http://localhost:3000
.