Repositori ini berisi templat aplikasi web tumpukan penuh yang berjalan pada tumpukan solusi FARM, yang merupakan singkatan dari:
Tumpukan FARM kurang lebih merupakan perpanjangan dari tumpukan LAMP dengan perubahan penting berikut:
Flask digunakan untuk menulis API web/middleware yang dapat berkomunikasi antara UI web dan backend web/database. Ini adalah inti dari keseluruhan aplikasi yang merekatkan potongan-potongan aplikasi tumpukan penuh menjadi satu.
Perhatikan bahwa templat khusus ini tidak menggunakan ORM, melainkan menggunakan modul pymysql . Ini berarti pengembang perlu menulis kueri SQL, namun dapat memaksimalkan kompleksitas kueri yang mereka perlukan untuk dijalankan di database.
AWS adalah layanan cloud tempat aplikasi dapat dihosting. Kami dapat menghosting seluruh tumpukan perangkat lunak pada layanan berikut:
Artinya, pengembang dapat menyimpan semuanya dalam satu platform dan meminimalkan pekerjaan DevOps/TI.
React adalah kerangka kerja yang menjalankan UI web. Aplikasi React juga dapat dijalankan di AWS Lambda dengan NodeJS.
Template ini menggunakan JavaScript/JSX, tetapi TypeScript juga dapat digunakan.
MySQL adalah database relasional yang digunakan backend web. Ini juga dapat dihosting di AWS melalui layanan RDS-nya.
Untuk menjalankan aplikasi web ini, hal-hal berikut perlu dilakukan:
db/Untuk menyiapkan instans MySQL, ikuti langkah-langkah berikut:
mysql pada antarmuka baris perintah Linux.sample.sql dalam instance. Ini akan membuat skema yang disebut SampleInventory dan kemudian menginisialisasi tabel yang disebut Inventory . Basis kode untuk Flask API dapat ditemukan di direktori api/ .
virtualenv farm-stack setelah menavigasi ke direktori itu.source farm-stack/bin/activateapi/ dan jalankan pip3 install -r requirements.txt untuk menginstal semua modul Python yang diperlukan untuk API.dbcreds.py di direktori api/ dan edit kredensial database sesuai kebutuhan. python3 app.py untuk menjalankan API di http://localhost:8080 . Basis kode untuk React UI dapat ditemukan di direktori ui/ . Templat ini menggunakan yarn sebagai pengelola paketnya; sangat penting bagi pengembang untuk tidak mencampuradukkan pengelola paket lain seperti npm saat menambahkan modul baru.
Perhatikan bahwa paket seperti react-bootstrap tidak ada di template ini.
yarn install untuk menginstal semua dependensi yang diperlukan. yarn start berjalan dalam mode pengembangan.http://localhost:3000 di browser.