Backend sumber terbuka dan tumpukan API memberdayakan tim pengembang untuk membangun, menjalankan, dan menskalakan platform dan pasar yang bertahan lama dengan lebih cepat dari sebelumnya .
Stelace.com | Dokumentasi | Blog | Twitter
Termasuk:
Untuk pengalaman full-stack, Anda dapat memulai di sini dengan templat front-end Vue.js sumber terbuka.
Cara termudah untuk menerapkan dan memanfaatkan Stelace adalah dengan infrastruktur terkelola resmi kami. Anda dapat memiliki platform baru yang dicadangkan dan dijalankan dalam hitungan menit dengan penerapan ketersediaan tinggi, penskalaan otomatis, lingkungan pengujian dan langsung bawaan, serta dasbor admin. SLA, infrastruktur khusus, dan dukungan premium juga tersedia untuk pelanggan Perusahaan.
Dengan:
Semua API tercantum dalam dokumen dan Referensi API.
UI Dasbor Admin terikat dengan tawaran Perangkat Lunak sebagai Layanan kami dan bukan sumber terbuka. Hal ini tentu tidak akan pernah terjadi kecuali masyarakat dan staf berkolaborasi untuk mewujudkan hal ini.
Itu saja!
Ini berarti Anda dapat dengan bebas beralih antara paket SaaS dan hosting mandiri kami kapan saja jika Anda tidak memerlukan dukungan Stelace atau SLA dan Anda siap membuat UI admin Anda sendiri, atau Anda tidak memerlukannya?.
Catatan: untuk UI aplikasi Anda, kami juga membuat templat front-end sumber terbuka.
Silakan kunjungi situs web Docker untuk menginstal Docker CE/EE. Pilih panduan instalasi yang tepat untuk sistem Anda.
Silakan merujuk ke instruksi resmi.
git clone https://github.com/stelace/stelace.git && cd stelace && git checkout origin/master
Kami merekomendasikan penggunaan image Docker yang telah dikonfigurasi sebelumnya untuk database guna memudahkan pengembangan.
Begitulah cara tim Stelace mengembangkan dan menguji server API.
Harap dicatat bahwa Anda harus menggunakan database yang tepat dalam produksi.
Mari kita mulai dengan file .env
Anda sendiri untuk disesuaikan jika diperlukan:
cp .env.example .env
Bangun gambar Docker:
docker-compose build
Dan mulai database:
yarn docker:db
Singkatan dari: docker-compose up -d elasticsearch postgresql redis
Jalankan yarn
untuk menginstal dependensi.
Jalankan yarn prepare
untuk memasang kait husky
Jalankan migrasi database untuk membuat atau memperbarui tabel secara otomatis:
yarn knex migrate:latest # or `npm run knex migrate:latest`
yarn plugins
yarn seed
Tip: gunakan salah satu templat sumber terbuka Stelace Instan kami untuk pengembangan tumpukan penuh yang sangat cepat.
yarn start # or `npm start`
Server Stelace dibangun dan diterapkan ke mesin Linux (Ubuntu), dan Anda mungkin mengalami masalah saat menjalankan server dengan OS lain.
Docker dapat mengatasi ini dengan mudah.
Anda hanya perlu mengubah host dari 127.0.0.1
menjadi elasticsearch
, postgresql
dan redis
di file .env
Anda saat menggunakan API dan database dalam container.
Inilah cara Anda menginstal dependensi dan init database:
# ephemeral container with --rm option
docker-compose run --rm api yarn
docker-compose run --rm api yarn seed
Catatan: direktori root proyek digunakan sebagai volume Docker selama pengembangan, termasuk node_modules
yang dibagikan. Anda perlu menginstal ulang dependensi saat beralih antara pengaturan server biasa dan penyiapan kontainer server.
Berlari:
docker-compose up -d
Perintah yang berguna untuk dijalankan dari root proyek:
docker-compose logs -f api
docker-compose down
docker volume prune
Tip: Gunakan yarn docker:db:reset
untuk mengatur ulang kontainer dan volume selama pengembangan. Ini bisa berguna jika Anda mempunyai masalah dengan database yang rusak atau data penyimpanan ulang, atau jika Anda ingin mengupgrade database ( peringatan : data & volume container akan hilang).
Pengujian sebagian besar merupakan pengujian integrasi dengan database yang aktif dan berjalan untuk mencakup fungsionalitas API penuh.
Jalankan npm run test
atau yarn test
dengan menjalankan ElasticSearch, PostgreSQL, dan Redis serta variabel lingkungan yang sesuai (host, port, kredensial).
Anda dapat menggunakan kontainer Docker database (lihat Menggunakan kontainer server API) dengan host yang sesuai (127.0.0.1) dan port (misalnya PostgreSQL: 6543).
File pengujian dijalankan secara paralel dengan AVA, menggunakan beberapa skema dalam database PostgreSQL.
Pengujiannya cukup intensif CPU dan Anda mungkin ingin memiliki 4 inti CPU untuk menjalankannya dalam kondisi yang baik.
Silakan temukan detail lebih lanjut di dokumen server (pengujian).
Mendapatkan log server secara real-time bisa sangat berguna selama pengembangan atau pengujian.
Anda hanya perlu mengatur variabel lingkungan:
ROARR_LOG=true yarn test
Untuk melihat keluaran panggilan console.log
selama pengujian AVA, tambahkan tanda --verbose
:
yarn test --verbose
Tim Stelace menggunakan image Docker server API dalam produksi, begitu pula pengujian CI.
Anda juga dapat menggunakan wadah server API untuk menjalankan pengujian secara lokal.
Pastikan ElasticSearch, PostgreSQL, dan Redis berjalan setelah Anda memulai container database:
# Install dependencies used by API server container if not done yet
docker-compose run --rm api yarn
# Checking that databases are up and running
docker-compose run --rm api /bin/sh -c
' until nc -z -v -w30 elasticsearch 9200 && nc -z -v -w30 postgresql 5432 && nc -z -v -w30 redis 6379
do
echo "Waiting for PostgreSQL, ElasticSearch and Redis…"
sleep 2
done ' ;
Jalankan pengujian dengan API dalam container:
docker-compose run --rm api yarn test
# instead of standard local server with `yarn test`
Seperti disebutkan di atas, kami merekomendasikan penggunaan database yang tepat untuk produksi. Anda dapat menghosting sendiri database atau mengeksternalisasikannya dengan menggunakan penyedia database.
Silakan temukan prosedur terperinci untuk mengkonfigurasi SSL untuk database.
Silakan temukan penjelasan tentang berbagai jenis kunci API.
Versi publik Stelace API yang memperkenalkan perubahan yang dapat menyebabkan gangguan bertanggal publik seperti 2019-05-20
tetapi repositori itu sendiri mengikuti aturan semver. Versi tertanggal setara dengan pembaruan major
, seperti pada semver major.minor.patch
.
Versi lama didukung berkat transformator, yang terinspirasi oleh contoh-contoh hebat.
Saat memperkenalkan perubahan yang dapat menyebabkan gangguan (dilambangkan dengan versi utama baru di repositori ini menurut semver):
src/versions/index.js
description
di trafo permintaanStelace adalah sumber terbuka dan kontribusi dari komunitas sangat kami harapkan, termasuk Anda!
Sebelum berkontribusi pada Stelace:
Server Stelace API untuk platform Web dilisensikan berdasarkan ketentuan GNU General Public License Versi 3.
Silakan hubungi kami untuk mendiskusikan opsi lisensi lainnya atau melihat paket SaaS kami untuk backend yang dihosting dan dukungan premium.
Stelace Hak Cipta © 2018-sekarang Sharinplace SAS.
Program ini adalah perangkat lunak bebas: Anda dapat mendistribusikan ulang dan/atau memodifikasinya berdasarkan ketentuan Lisensi Publik Umum GNU sebagaimana diterbitkan oleh Free Software Foundation, baik versi 3 dari Lisensi tersebut, atau (sesuai pilihan Anda) versi yang lebih baru.
Program ini disebarluaskan dengan harapan dapat bermanfaat, namun TANPA JAMINAN APA PUN; bahkan tanpa jaminan tersirat mengenai KELAYAKAN UNTUK DIPERDAGANGKAN atau KESESUAIAN UNTUK TUJUAN TERTENTU. Lihat Lisensi Publik Umum GNU untuk lebih jelasnya.
Salinan Lisensi Publik Umum GNU disertakan dalam program ini, dan juga tersedia di https://www.gnu.org/licenses/gpl-3.0.txt.
Dibuat dengan ❤️ di Paris, Prancis.