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/activate
api/
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.