แบ็กเอนด์โอเพ่นซอร์สและสแต็ก API ช่วยให้ทีมพัฒนาสามารถ สร้าง รัน และปรับขนาดแพลตฟอร์มและตลาดที่ยั่งยืนได้เร็วกว่าที่เคย
Stelace.com | เอกสารประกอบ | บล็อก | ทวิตเตอร์
รวมถึง:
หากต้องการประสบการณ์แบบเต็มรูปแบบ คุณสามารถเริ่มต้นที่นี่ด้วยเทมเพลตฟรอนต์เอนด์ Vue.js แบบโอเพ่นซอร์ส
วิธีที่ง่ายที่สุดในการปรับใช้และใช้ประโยชน์จาก Stelace คือการใช้โครงสร้างพื้นฐานที่ได้รับการจัดการอย่างเป็นทางการของเรา คุณสามารถมีแพลตฟอร์มแบ็กเอนด์ใหม่และทำงานได้ภายในไม่กี่นาทีด้วยการปรับใช้ที่มีความพร้อมใช้งานสูง การปรับขนาดอัตโนมัติ การทดสอบในตัวและสภาพแวดล้อมแบบสด และแดชบอร์ดผู้ดูแลระบบ SLA โครงสร้างพื้นฐานเฉพาะ และการสนับสนุนระดับพรีเมียมมีให้สำหรับลูกค้าองค์กรด้วย
กับ:
API ทั้งหมด ที่แสดงอยู่ในเอกสารและการอ้างอิง API
Admin Dashboard UI เชื่อมโยงกับข้อเสนอ Software-as-a-Service ของเราและไม่ใช่โอเพ่นซอร์ส มันจะไม่มีวันเป็นเช่นนั้นอย่างแน่นอน เว้นแต่ชุมชนและเจ้าหน้าที่จะร่วมมือกันเพื่อทำให้สิ่งนี้เกิดขึ้น
แค่นั้นแหละ!
ซึ่งหมายความว่าคุณสามารถสลับระหว่างแผน SaaS ของเราและการโฮสต์ด้วยตนเองได้อย่างอิสระเมื่อใดก็ได้ หากคุณไม่ต้องการการสนับสนุน Stelace หรือ SLA และคุณพร้อมที่จะสร้าง UI ผู้ดูแลระบบของคุณเอง หรือคุณไม่ต้องการแล้ว ?
หมายเหตุ: สำหรับ UI ของแอปของคุณ เรายังสร้างเทมเพลตส่วนหน้าแบบโอเพนซอร์สด้วย
โปรดไปที่เว็บไซต์ Docker เพื่อติดตั้ง Docker CE/EE เลือกคู่มือการติดตั้งที่เหมาะสมสำหรับระบบของคุณ
โปรดดูคำแนะนำอย่างเป็นทางการ
git clone https://github.com/stelace/stelace.git && cd stelace && git checkout origin/master
เราขอแนะนำให้ใช้อิมเมจ Docker ที่กำหนดค่าไว้ล่วงหน้าสำหรับฐานข้อมูลเพื่อความสะดวกในการพัฒนา
นี่คือวิธีที่ทีม Stelace พัฒนาและทดสอบเซิร์ฟเวอร์ API
โปรดทราบว่าคุณควรใช้ฐานข้อมูลที่เหมาะสมในการผลิต
เริ่มจากไฟล์ .env
ของคุณเองเพื่อปรับแต่งหากจำเป็น:
cp .env.example .env
สร้างอิมเมจ Docker:
docker-compose build
และเริ่มฐานข้อมูล:
yarn docker:db
ย่อมาจาก: docker-compose up -d elasticsearch postgresql redis
รัน yarn
เพื่อติดตั้งการขึ้นต่อกัน
วิ่ง yarn prepare
ติดตั้งตะขอฮัสกี้
เรียกใช้การย้ายฐานข้อมูลเพื่อสร้างหรืออัปเดตตารางโดยอัตโนมัติ:
yarn knex migrate:latest # or `npm run knex migrate:latest`
yarn plugins
yarn seed
เคล็ดลับ: ใช้หนึ่งในเทมเพลตโอเพ่นซอร์ส Stelace Instant ของเราเพื่อการพัฒนาฟูลสแตกที่รวดเร็วอย่างเห็นได้ชัด
yarn start # or `npm start`
เซิร์ฟเวอร์ Stelace สร้างขึ้นและปรับใช้กับเครื่อง Linux (Ubuntu) และคุณอาจประสบปัญหาในการใช้งานเซิร์ฟเวอร์กับระบบปฏิบัติการอื่น
นักเทียบท่าสามารถแก้ไขปัญหานี้ได้อย่างง่ายดาย
คุณเพียงแค่ต้องเปลี่ยนโฮสต์จาก 127.0.0.1
เป็น elasticsearch
, postgresql
และ redis
ในไฟล์ .env
ของคุณเมื่อใช้ API และ ฐานข้อมูลแบบคอนเทนเนอร์
นี่คือวิธีที่คุณสามารถติดตั้งการอ้างอิงและฐานข้อมูลเริ่มต้น:
# ephemeral container with --rm option
docker-compose run --rm api yarn
docker-compose run --rm api yarn seed
หมายเหตุ: ไดเร็กทอรีรากของโปรเจ็กต์ถูกใช้เป็นโวลุ่ม Docker ในระหว่างการพัฒนา รวมถึง node_modules
ที่แชร์ คุณต้องติดตั้งการขึ้นต่อกันใหม่เมื่อสลับระหว่างการตั้งค่าเซิร์ฟเวอร์ธรรมดาและคอนเทนเนอร์เซิร์ฟเวอร์
วิ่ง:
docker-compose up -d
คำสั่งที่เป็นประโยชน์ในการรันจากรูทโปรเจ็กต์:
docker-compose logs -f api
docker-compose down
docker volume prune
เคล็ดลับ: ใช้ yarn docker:db:reset
เพื่อรีเซ็ตคอนเทนเนอร์และวอลุ่มระหว่างการพัฒนา สิ่งนี้มีประโยชน์หากคุณมีปัญหากับฐานข้อมูลที่เสียหายหรือข้อมูลที่จัดเก็บ Redis หรือหากคุณต้องการอัปเกรดฐานข้อมูล ( คำเตือน : ข้อมูลคอนเทนเนอร์และวอลุ่มจะหายไป)
การทดสอบส่วนใหญ่เป็นการทดสอบการรวมเข้ากับฐานข้อมูลที่ใช้งานอยู่เพื่อให้ครอบคลุมฟังก์ชันการทำงานของ API เต็มรูปแบบ
รัน npm run test
หรือ yarn test
ด้วย ElasticSearch, PostgreSQL และ Redis ที่รันอยู่และตัวแปรสภาพแวดล้อมที่เหมาะสม (โฮสต์ พอร์ต ข้อมูลประจำตัว)
คุณสามารถใช้คอนเทนเนอร์ Docker ฐานข้อมูลได้ (ดูการใช้คอนเทนเนอร์เซิร์ฟเวอร์ API) กับโฮสต์ที่เหมาะสม (127.0.0.1) และพอร์ต (เช่น PostgreSQL: 6543)
ไฟล์ทดสอบจะทำงานขนานกับ AVA โดยใช้สคีมาหลายรายการในฐานข้อมูล PostgreSQL
การทดสอบค่อนข้างใช้ CPU มาก และคุณอาจต้องการมีคอร์ CPU 4 ตัวเพื่อให้ทำงานได้ในสภาวะที่ดี
โปรดดูรายละเอียดเพิ่มเติมในเอกสารเซิร์ฟเวอร์ (การทดสอบ)
การรับบันทึกเซิร์ฟเวอร์แบบเรียลไทม์อาจมีประโยชน์มากในระหว่างการพัฒนาหรือการทดสอบ
คุณเพียงแค่ต้องตั้งค่าตัวแปรสภาพแวดล้อม:
ROARR_LOG=true yarn test
หากต้องการดูผลลัพธ์ของการเรียก console.log
ในระหว่างการทดสอบ AVA ให้เพิ่ม --verbose
flag:
yarn test --verbose
ทีม Stelace ใช้อิมเมจ Docker ของเซิร์ฟเวอร์ API ในการผลิต เช่นเดียวกับการทดสอบ CI
คุณสามารถใช้คอนเทนเนอร์เซิร์ฟเวอร์ API เพื่อรันการทดสอบภายในเครื่องได้เช่นกัน
ตรวจสอบให้แน่ใจว่า ElasticSearch, PostgreSQL และ Redis กำลังทำงานอยู่เมื่อคุณเริ่มต้นคอนเทนเนอร์ฐานข้อมูลแล้ว:
# 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 ' ;
รันการทดสอบด้วย Containerized API:
docker-compose run --rm api yarn test
# instead of standard local server with `yarn test`
ตามที่กล่าวไว้ข้างต้น เราขอแนะนำให้ใช้ฐานข้อมูลที่เหมาะสมสำหรับการผลิต คุณอาจโฮสต์ฐานข้อมูลด้วยตนเองหรือส่งออกฐานข้อมูลโดยใช้ผู้ให้บริการฐานข้อมูล
โปรดดูขั้นตอนโดยละเอียดเพื่อกำหนดค่า SSL สำหรับฐานข้อมูล
โปรดดูคำอธิบายเกี่ยวกับคีย์ API ประเภทต่างๆ
เวอร์ชันสาธารณะของ Stelace API ที่แนะนำการเปลี่ยนแปลงที่ไม่สมบูรณ์นั้นมีวันที่เปิดเผยต่อสาธารณะเช่น 2019-05-20
แต่พื้นที่เก็บข้อมูลนั้นเป็นไปตามกฎของ semver เวอร์ชันที่ลงวันที่เทียบเท่ากับการอัปเดต major
ดังเช่นใน semver major.minor.patch
รองรับเวอร์ชันเก่าที่ล้าสมัยด้วยหม้อแปลงซึ่งได้รับแรงบันดาลใจจากตัวอย่างที่ยอดเยี่ยม
เมื่อแนะนำการเปลี่ยนแปลงที่แตกหัก (แสดงโดยเวอร์ชันหลักใหม่ในพื้นที่เก็บข้อมูลนี้ตาม semver):
src/versions/index.js
description
ในคำขอหม้อแปลงStelace เป็น โอเพ่นซอร์ส และยินดีต้อนรับการมีส่วนร่วมจากชุมชน รวมถึงของคุณด้วย!
ก่อนที่จะบริจาคให้กับ Stelace:
เซิร์ฟเวอร์ Stelace API สำหรับแพลตฟอร์มเว็บได้รับอนุญาตภายใต้เงื่อนไขของ GNU General Public License เวอร์ชัน 3
โปรดติดต่อเราเพื่อหารือเกี่ยวกับตัวเลือกใบอนุญาตอื่นๆ หรือดูแผน SaaS ของเราสำหรับแบ็กเอนด์ที่โฮสต์และการสนับสนุนระดับพรีเมียม
Stelace ลิขสิทธิ์ © 2018-ปัจจุบัน Sharinplace SAS
โปรแกรมนี้เป็นซอฟต์แวร์เสรี: คุณสามารถแจกจ่ายซ้ำและ/หรือแก้ไขได้ภายใต้เงื่อนไขของ GNU General Public License ตามที่เผยแพร่โดย Free Software Foundation ไม่ว่าจะเป็นเวอร์ชัน 3 ของใบอนุญาต หรือ (ตามตัวเลือกของคุณ) เวอร์ชันที่ใหม่กว่า
โปรแกรมนี้เผยแพร่ด้วยความหวังว่าจะมีประโยชน์ แต่ไม่มีการรับประกันใดๆ โดยไม่มีการรับประกันโดยนัยถึงความสามารถในการซื้อขายหรือความเหมาะสมสำหรับวัตถุประสงค์เฉพาะ ดูใบอนุญาตสาธารณะทั่วไปของ GNU สำหรับรายละเอียดเพิ่มเติม
สำเนาของ GNU General Public License รวมอยู่ในโปรแกรมนี้ และยังมีอยู่ที่ https://www.gnu.org/licenses/gpl-3.0.txt
ทำด้วย ❤️ ในปารีส ประเทศฝรั่งเศส