ยินดีต้อนรับสู่แอปพลิ quack นแชทส่วนตัว
ยินดีต้อนรับสู่ quack แอปพลิเคชั่นแชทโอเพ่นซอร์สฟรีที่ออกแบบมาเพื่อการใช้งานส่วนตัว quack นำเสนออินเทอร์เฟซที่ใช้งานง่ายและการผสานรวมกับเว็บเบราว์เซอร์ได้อย่างราบรื่น ทำให้เป็น Progressive Web Application ที่สามารถเข้าถึงได้จากทุกแพลตฟอร์มที่มีเว็บเบราว์เซอร์ เช่น Chrome
แรงบันดาลใจจาก Slack แต่ราคาไม่แพงกว่าสำหรับการใช้งานส่วนตัว quack ผสมผสานคุณสมบัติที่ดีที่สุดจากผู้สื่อสารรายอื่นในขณะที่ให้ความสำคัญกับความเป็นส่วนตัวและความปลอดภัย ผู้ใช้สามารถโฮสต์แอปของตนเองได้ ทำให้มั่นใจในการควบคุมข้อมูลของตนได้อย่างสมบูรณ์
วิธีเริ่มต้นที่เร็วที่สุดคือการใช้ Docker compose การใช้คำสั่งต่อไปนี้จะเริ่มต้นแอปพลิเคชันด้วยการตั้งค่าเริ่มต้นในเวลาไม่นาน
docker compose up -d
นำทางไปยัง http://localhost:8080 และใช้ข้อมูลรับรองเริ่มต้นเพื่อเข้าสู่ระบบ admin / 123
หากต้องการแทนที่การตั้งค่าเริ่มต้น คุณสามารถสร้างไฟล์ chat.config.ts
ในไดเรกทอรีรากของโครงการได้ คุณสามารถใช้ chat.config.example.ts
เป็นเทมเพลตได้ ไฟล์ควรส่งออกวัตถุต่อไปนี้:
type Config = {
port ?: number // default `PORT` env otherwise `8080`
sessionSecret ?: string // auto generated on first run to `secrets.json` but can be overwritten here
trustProxy ?: bool | string | number // default `uniquelocal` ref: https://expressjs.com/en/guide/behind-proxies.html
vapid ?: { // auto generated on first run to `secrets.json` but can be overwritten here
publicKey : string
secretKey : string
} ,
databaseUrl ?: string // default `DATABASE_URL` env
cors ?: string [ ] // by default [ 'https?://localhost(:[0-9]{,4})' ],
storage ?: { // Where uploaded files should be stored
type : 'memory' | 'gcs' | 'fs' // default `fs` / `memory` in tests
directory : string // where to save files when type `fs`
bucket : string // bucket name for `gcs`
}
apiUrl ?: string // default 'http://localhost:8080' url of api
appUrl ?: string // default 'http://localhost:8081' url for frontend app
} ;
GOOGLE_APPLICATION_CREDENTIALS
[สตริง] - (ไม่บังคับ) เมื่อใช้วิธีการเก็บข้อมูล gcs
ในการเริ่มต้นเซิร์ฟเวอร์:
cd ./deno/server
deno task dev
ติดตั้งการพึ่งพาและเริ่มแอป React:
cd ./app
npm install
npm run dev
หากต้องการเริ่มหนังสือนิทาน:
cd ./app
npm install
npm run storybook
ขณะนี้รองรับ Google Cloud Storage หากต้องการเปิดใช้งานให้ตั้ง fileStorage
ในไฟล์กำหนดค่าเป็น gcs
ให้ระบุ gcsBucket
และตั้งค่าตัวแปรสภาพแวดล้อม GOOGLE_APPLICATION_CREDENTIALS
เรากำลังใช้อินสแตนซ์ MongoDB แบบไร้เซิร์ฟเวอร์เนื่องจากความน่าเชื่อถือและความคุ้มทุน - เราจะจ่ายเฉพาะส่วนที่เราใช้เท่านั้น ตัวเลือกที่ถูกที่สุดบน Mongo Atlas นั้นเพียงพอสำหรับการสมัคร เนื่องจากเราไม่จำเป็นต้องมีฟังก์ชัน pub/sub ภายใน
การมีโซลูชันแบบไร้เซิร์ฟเวอร์คงจะดีไม่น้อย แต่สำหรับตอนนี้ ตัวเลือกที่ถูกที่สุดคือการใช้ GCE ฉันไม่รู้ว่าจะเผยแพร่ข้อความไปยังอินสแตนซ์แบบไร้เซิร์ฟเวอร์อื่น ๆ ได้อย่างไรโดยไม่มีบริการผับ/ย่อยที่โฮสต์ ต้องโฮสต์ MongoDB, Redis และ Postgres เพื่อดูข้อความ บางที Google Cloud Pub/Sub อาจเป็นตัวเลือกที่ดีใช่ไหม
แชทมีระบบปลั๊กอิน ปลั๊กอินตัวอย่างสามารถพบได้ใน plugins/example
วิธีใช้ปลั๊กอินและจุดเชื่อมต่อปลั๊กอิน TBA
admin / 123
ผู้ใช้ใหม่สามารถเชิญได้ด้วยคำสั่ง /invite
ซึ่งจะสร้างลิงก์แบบใช้ครั้งเดียวสำหรับการลงทะเบียนผู้ใช้
ยินดีบริจาค สำหรับการเปลี่ยนแปลงที่สำคัญ โปรดเปิดประเด็นก่อนเพื่อหารือเกี่ยวกับสิ่งที่คุณต้องการเปลี่ยนแปลง ตรวจสอบให้แน่ใจว่าได้อัปเดตการทดสอบตามความเหมาะสม
ใบอนุญาตเอ็มไอที
ลิขสิทธิ์ (c) 2023 CodeCat