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/activateapi/ 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 .