ชอบโครงการ? มีเงินมากเกินไป? ซื้อกาแฟหรืออะไรสักอย่างให้ฉัน!
แอปพลิเคชั่นบนเว็บไซต์สำหรับการแบ่งปันและการร่วมมือกับ Wishlists และ Presents เป้าหมายหลักคือการอนุญาตให้มีการแบ่งปันสิ่งที่อยากได้และความคิดของขวัญที่อ้างสิทธิ์โดยที่ผู้รับรู้ว่าพวกเขาได้รับอะไร
คุณสมบัติที่โดดเด่น:
ปัญหาที่รู้จัก:
ฉันแนะนำให้ใช้นักเทียบท่าอย่างสุจริต
ฐานข้อมูล MySQL โดยเฉพาะ ในอนาคตกระบวนการนี้สามารถปรับปรุงได้และสามารถเพิ่มฐานข้อมูลที่แตกต่างกันโดยโมดูล DB แต่สำหรับตอนนี้ตั้งค่าฐานข้อมูล MySQL ที่Pønskelistenสามารถเข้าถึงและเข้าสู่ระบบได้
หากคุณกำลังโฮสต์สิ่งนี้โดยไม่มี Docker คุณสามารถดาวน์โหลด XAMPP และคลิก "เริ่ม" บนคุณสมบัติ DB ไม่จำเป็นต้องมีการตั้งค่าเพิ่มเติม! หากคุณใช้ Docker เพียงใช้รูปภาพ MySQL Docker แม้จะมีตัวอย่างนักเทียบท่าที่เขียนขึ้นต่อไปซึ่งเพียงแค่ต้องการการปรับแต่งเล็กน้อย
สร้างตารางสำหรับPønskelisten (อิมเมจ Docker ทำสิ่งนี้โดยอัตโนมัติ) และจดจำชื่อตารางในภายหลัง
หากคุณต้องการแก้ไขไฟล์การกำหนดค่าด้วยตนเองให้เริ่มต้นPønskelistenแล้วปล่อยให้มันบ่นพวง คุณสามารถแก้ไขไฟล์การกำหนดค่าด้วยตนเองหลังจากนั้น ถ้าไม่ลองดูเพิ่มเติมที่ Startup flags สำหรับการเริ่มต้นpønsklistenด้วยตัวเลือกการกำหนดค่า
คอมไพล์สาขา/แท็กที่คุณเลือกด้วยการติดตั้งและเรียกใช้:
$ go build
$ ./poenskelisten
... หรือดาวน์โหลดรีลีสคอมไพล์ล่วงหน้าและเริ่มแอปพลิเคชัน
หากคุณต้องการเริ่มต้นPønskelistenด้วยธงเริ่มต้นเพื่อประสบการณ์ที่ราบรื่นให้ดูที่ส่วนถัดไป ถ้าไม่เพียงไปที่ขั้นตอนที่สาม
คุณสามารถใช้ธงเริ่มต้นเพื่อสร้างค่าเพื่อเติมไฟล์การกำหนดค่าด้วย พวกเขาจะใช้เฉพาะเมื่อไฟล์การกำหนดค่าไม่มีค่าที่กำหนดค่าล่วงหน้าเพื่อจัดลำดับความสำคัญ ช่วงเวลาที่ไฟล์การกำหนดค่ามีค่าธงเหล่านี้ไม่มีประโยชน์ เรียงลำดับของสิ่งเดียว
ข้อยกเว้นคือ generateinvite ซึ่งจะสร้างรหัสเชิญแบบสุ่มใหม่ในการใช้งานแต่ละครั้งและ disablesmtp ซึ่งจะปิดการใช้งานฟังก์ชัน SMTP เสมอ
| ธง | พิมพ์ | การอธิบาย |
|---|---|---|
| ท่าเรือ | จำนวนเต็ม | Port Pønskelistenซึ่งเริ่มต้นขึ้น |
| เขตเวลา | สาย | เขตเวลาPønskelistenใช้ ระบุในรูปแบบชื่อฐานข้อมูล TZ รายการสามารถพบได้ที่นี่ |
| generateInvite | สตริง (จริง/เท็จ) | หากPønskelistenควรสร้างรหัสคำเชิญในการเริ่มต้น |
| DBIP | สาย | ที่อยู่การเชื่อมต่อPønskelistenใช้ในการเข้าถึงฐานข้อมูล |
| DBPORT | จำนวนเต็ม | พอร์ตpønskelistenสามารถเข้าถึงฐานข้อมูลได้ที่ |
| DBNAME | สาย | ชื่อของตารางภายในฐานข้อมูล |
| dbusername | สาย | ชื่อผู้ใช้ที่ใช้ในการจัดการกับฐานข้อมูลอัตโนมัติ |
| dbpassword | สาย | รหัสผ่านที่ใช้ในการจัดการกับฐานข้อมูลอัตโนมัติ |
| ปิดใช้งาน | สตริง (จริง/เท็จ) | ปิดใช้งาน SMTP หมายถึงผู้ใช้ Verificaton ถูกปิดใช้งาน SMTP เปิดใช้งานโดยค่าเริ่มต้น |
| smtphost | สาย | โฮสต์เซิร์ฟเวอร์ SMTP ที่ใช้ |
| smtpport | จำนวนเต็ม | พอร์ตโฮสต์เซิร์ฟเวอร์ SMTP ที่ใช้ |
| smtpusername | สาย | ชื่อผู้ใช้ที่ใช้ในการตรวจสอบสิทธิ์ไปยังเซิร์ฟเวอร์ SMTP ที่ใช้ |
| smtppassword | สาย | ชื่อผู้ใช้ที่ใช้ในการตรวจสอบสิทธิ์ไปยังเซิร์ฟเวอร์ SMTP ที่ใช้ |
| อัพเกรด 2 | สตริง (จริง/เท็จ) | แปลง db.sql ในโฟลเดอร์ /files เป็นรูปแบบ V2.00 |
หากต้องการใช้ธงเพียงแค่เริ่มโปรแกรม GO ที่คอมไพล์พร้อมค่าเพิ่มเติม เช่น:
$ ./poenskelisten -port 7679
$ ./poenskelisten -port 7679 -dbip 127.0.0.1 -dbname mycooltable -smtphost smtp.justanexample.org
/files/config.json คุณสามารถข้ามขั้นตอนนี้ได้หากคุณใช้ธงเริ่มต้นในขั้นตอนก่อนหน้าหรือย้อนกลับไปใช้ธงแทน ธงเป็นเพียงวิธีที่จะให้พารามิเตอร์เริ่มต้นที่จะใส่ในไฟล์ config.json ตารางของธงยังให้ข้อมูลเชิงลึกเกี่ยวกับวิธีการแก้ไขไฟล์การกำหนดค่าด้วยตนเอง
แก้ไขไฟล์การกำหนดค่าเพื่อให้สามารถเข้าถึงฐานข้อมูล MySQL และอาจเป็นเซิร์ฟเวอร์ SMTP หากคุณไม่ปิดใช้งานฟังก์ชั่น SMTP ขณะนี้ไม่มีอินเทอร์เฟซผู้ดูแลระบบดังนั้นสิ่งนี้จะต้องทำด้วยตนเองในไฟล์ เขตเวลามีความจำเป็นเช่นกัน แต่คีย์ส่วนตัวควรเติมโดยอัตโนมัติ
รีสตาร์ทPønskelistenสำหรับการเปลี่ยนแปลงที่จะมีผล
คุณไม่ควรเข้าถึงPønskelisten โดยค่าเริ่มต้นคุณสามารถค้นหาส่วนหน้าได้ที่ localhost:8080
ในการสมัครใช้งานเว็บไซต์คุณต้องมีรหัสคำเชิญ หากคุณใช้ generateinvite Flag คุณสามารถค้นหารหัสคำเชิญในไฟล์บันทึกที่อยู่ในไดเรกทอรีไฟล์หรือบนคอนโซล
ถ้าไม่คุณต้องเปลี่ยนตารางฐานข้อมูลเพื่อเพิ่มรหัสเชิญ ยุ่งยากฉันรู้
ฉันขอแนะนำให้ติดตั้ง phpmyadmin (อินเทอร์เฟซฐานข้อมูล) ไม่ว่าจะเป็นอิมเมจนักเทียบท่าหรือในเครื่อง (มันมาก่อนบรรจุใน XAMPP) สิ่งนี้สามารถใช้ในการเปลี่ยนฐานข้อมูล
ผู้ใช้รายแรกที่ลงทะเบียนเป็นผู้ดูแลระบบโดยอัตโนมัติ คุณต้องมีรหัสเชิญสำหรับผู้ใช้ทุกคนที่ต้องการสมัคร สามารถสร้างได้ในหน้าผู้ดูแลระบบ
เตรียมพร้อมที่จะเข้าถึง DB ทุกครั้งที่ผู้ใช้จัดการเพื่อทำให้อีเมลของพวกเขาพยายามลงทะเบียนหรือบางคนต้องการรหัสคำเชิญ
ธงเริ่มต้นทั้งหมดในตารางที่ได้รับก่อนหน้านี้สามารถใช้เป็นตัวแปรสภาพแวดล้อม โปรดทราบว่าธงและตัวแปรสภาพแวดล้อมจะถูกใช้ก็ต่อเมื่อค่าไม่ได้กำหนดไว้ในไฟล์การกำหนดค่า
ข้อยกเว้นเพียงอย่างเดียวคือ generateinvite และ disablesmtp พิจารณาการลบตัวแปรสภาพแวดล้อม generateinvite ออกจากไฟล์ Compose Docker ของคุณเพื่อให้คุณไม่สร้างรหัสใหม่ในทุกการรีสตาร์ท
มันมีPønskelisten, MySQL DB และ PHPMYADMIN ในทางทฤษฎีคุณเพียงแค่ต้องแก้ไขตัวแปรสภาพแวดล้อมสำหรับบริการPønskelistenสำหรับตัวอย่างนี้ในการทำงาน
version: '3.3'
services:
db:
image: mysql:5.7
container_name: poenskelisten-db
restart: unless-stopped
environment:
# The table name you chose
MYSQL_DATABASE: 'ponske'
# User, so you don't have to use root
MYSQL_USER: 'myuser'
# Please switch this password
MYSQL_PASSWORD: 'mystrongpassword'
# Password for root access, change this too
MYSQL_ROOT_PASSWORD: 'root'
networks:
- db
expose:
- '3306'
# Where our DB data will be persisted
volumes:
- ./db/:/var/lib/mysql/ # Location of DB data
poenskelisten:
container_name: poenskelisten-app
image: aunefyren/poenskelisten:latest
restart: unless-stopped
networks:
- db
depends_on:
- db
# Where our Pønskeliste files are
volumes:
- ./data/:/app/files/
ports:
- '8080:8080'
environment:
# Generate an unused invite code on startup
# Remove this value to avoid continuous code-generation
generateinvite: true
# The container will only respect these ENV if they are empty in the config.json
# Useful for first setup
port: 8080
timezone: Europe/Oslo
dbip: db
dbport: 3306
dbname: ponske
dbusername: myuser
dbpassword: mystrongpassword
disablesmtp: false
smtphost: smtphost
smtpport: 25
smtpusername: myusername
smtppassword: mypassword
phpmyadmin:
image: phpmyadmin:latest
restart: unless-stopped
environment:
- PMA_ARBITRARY=1
# DB table
- PMA_HOST:ponske
# Root password
- MYSQL_ROOT_PASSWORD:root
# Timezone
- TZ=Europe/Oslo
container_name: poenskelisten-phpmyadmin
ports:
- 80:80
depends_on:
- db
networks:
- db
networks:
db:
external: false
Pønskelistenหมายถึงอะไร?
เพียงแค่การเล่นคำภาษานอร์เวย์ที่ฉลาดที่ไม่ได้แปลเป็นภาษาอังกฤษเลย สิ่งที่อยากได้เรียกว่า 'Ønskeliste' ในภาษานอร์เวย์และคำกริยา 'pønske' หมายถึงการวางแผนและวางแผน ดังนั้นPønskelisten
คุณช่วยลบความจำเป็นในการจัดการ DB โดยตรงได้หรือไม่?
ใช่มันกำลังจะมา
นี่คือการพัฒนาในช่วงต้นและทำให้เป็นมิตรกับผู้ใช้และคุ้มค่าโฮสติ้งเป็นเรื่องยากและต้องใช้เวลา มันใช้งานได้แน่นอน แต่ไม่จำเป็นต้องเป็นสิ่งที่คุณต้องการหรือต้องการ อย่าลังเลที่จะเพิ่มข้อเสนอแนะหรือคำขอคุณสมบัติในรูปแบบของปัญหา GitHub