Ce référentiel contient un modèle d'application Web complète qui s'exécute sur la pile de solutions FARM, qui signifie :
La pile FARM est plus ou moins une extension de la pile LAMP avec ces changements notables :
Flask est utilisé pour écrire les API/middleware Web qui peuvent communiquer entre l'interface utilisateur Web et le backend/base de données Web. Il s’agit du cœur de l’ensemble de l’application qui rassemble les éléments de l’application full stack.
Notez que ce modèle particulier n'utilise pas d'ORM, mais utilise à la place le module pymysql
. Cela signifie que les développeurs doivent écrire des requêtes SQL, mais peuvent maximiser la complexité des requêtes dont ils ont besoin pour exécuter sur la base de données.
AWS est le service cloud sur lequel l'application peut être hébergée. Nous pouvons héberger l’intégralité de la pile logicielle sur les services suivants :
Cela signifie que les développeurs peuvent tout conserver sur une seule plateforme et minimiser le travail DevOps/IT.
React est le framework sur lequel s'exécute l'interface utilisateur Web. L'application React peut également être exécutée sur AWS Lambda avec NodeJS.
Ce modèle utilise JavaScript/JSX, mais TypeScript peut également être utilisé.
MySQL est la base de données relationnelle utilisée par le backend Web. Celui-ci peut également être hébergé sur AWS via son service RDS.
Pour exécuter cette application Web, les opérations suivantes doivent être effectuées :
db/
Pour configurer l'instance MySQL, procédez comme suit :
mysql
sur l'interface de ligne de commande Linux.sample.sql
dans l'instance. Il créera un schéma appelé SampleInventory
puis initialisera une table appelée Inventory
. La base de code de l'API Flask se trouve dans le répertoire api/
.
virtualenv farm-stack
après avoir accédé à ce répertoire.source farm-stack/bin/activate
api/
et exécutez pip3 install -r requirements.txt
pour installer tous les modules Python nécessaires à l'API.dbcreds.py
dans le répertoire api/
et modifiez les informations d'identification de la base de données si nécessaire. python3 app.py
pour exécuter l'API sur http://localhost:8080
. La base de code de l'interface utilisateur de React se trouve dans le répertoire ui/
. Ce modèle utilise yarn
comme gestionnaire de packages ; il est crucial que les développeurs ne mélangent pas d'autres gestionnaires de packages comme npm
lors de l'ajout de nouveaux modules.
Notez que des packages comme react-bootstrap
sont absents de ce modèle.
yarn install
pour installer toutes les dépendances requises. yarn start
pour s'exécuter en mode développement.http://localhost:3000
sur le navigateur.