Repository files navigation
ปรับปรุงการโครงสร้างใหม่ในรูปแบบ MVC : Model View Controller
ระบบ Jwt Authentication ทั้ง Frontend และ Backend.
มีการ Refresh Access token และ Renew Refresh token ทั้ง Client และ Server
ผู้ใช้งานสามารถจัดการ Login session
ผู้ใช้งานสามารถจัดการ รายการแจ้งเตือนนได้ เช่นการ Unsubscription
สามารถแสดงหน้า Offline ได้เหมือน App
สามารถส่งแจ้งเตือนได้แม้จะปิดหน้าเว็บไปแล้วก็ตาม (Web Push)
มีตัวอย่าง API สำหรับการส่งแจ้งเตือนให้ โดยสามารถเรียกใช้ได้จากโปรแกรม Postman (จะมีบรรยายไว้ที่หัวข้อ API)
สามารถใช้งานได้บน Google chrome รวมทั้ง Android และ ios 16 ขึ้นไป โดยสามารถกดติดตั้ง หรือ Add to Home ได้เลย
PHP extensions: ส่วนเสริมของ PHP
bcmath and/or gmp
mbstring
curl
openssl (สำคัญ)
Xampp (สำหรับการรันเซิฟเวอร์)
composer (สำหรับการติดตั้ง Library)
การติดตั้ง Openssl บน Windows ( โดยใช้ Xampp)
ไปที่ Environment Variable
ในหัวข้อของ System variables > คลิกเลือก New
Variable name : OPENSSL_CONF
Variable value : C:\xampp\apache\conf\openssl.cnf
กด OK และ รีสตาร์ทคอมพิวเตอร์
สร้างฐานข้อมูลชื่อ noti_db ใน mysql
ทำการ import database จาก โฟลเดอร์ configs โดยใช้ phpmyadmin หรือ Navicat ก็ได้
clone หรือ ดาวโหลด Repository นี้
แตกไฟล์ หรือ นำไปวางที่ C:/xampp/htdocs
เปิด Terminal และ พิมพ์คำสั่ง composer install (ต้องติดตั้ง composer ก่อน)
เข้าไปเปลี่ยนชื่อของแอพในไฟล์ manifest.json ในหัวข้อของ name และ short_name
เข้าไปเปลี่ยชื่อของ cache ของแอพในไฟล์ service-worker.js ในหัวข้อของ CACHE_NAME
สร้างไฟล์ .env ในโฟลเดอร์ includes
ใส่โค๊ดดังนี้ลงไป
APP_NAME= ชื่อของแอพหรือเว็บ
APP_DOMAIN = โดเมนเนม
BASE_PATH = /ชื่อโฟลเดอร์ของโปรเจ็ค
DB_DSN = mysql
DB_HOST=localhost
DB_DATABASE=noti_db
DB_USERNAME=root
DB_PASSWORD=
DB_PORT= 3306
VAPID_PUBLIC_KEY =
VAPID_PRIVATE_KEY =
SECRET_KEY = สามารถสร้างจาก เว็บนี้
ทำการสร้าง VAPID Key โดยให้ทำการรันไฟล์ make-vapid.php ที่อยู่ในโฟลเดอร์ configs โดยสามารถรันจาก Browser หรือผ่าน Terminal
ก็ได้โดยใช้คำสั่ง php vapid.php
คัดลอก public_key และ private_key ที่ถูกสร้างจากข้อก่อนหน้านี้ไปใส่ในไฟล์ .env ดัวอย่างนี้
DB_HOST=localhost
DB_USERNAME=root
DB_PASSWORD=
DB_DATABASE=noti_db
VAPID_PUBLIC_KEY = public_key ที่ถูกคัดลอกมา
VAPID_PRIVATE_KEY = private_key ที่ถูกคัดลอกมา
You can’t perform that action at this time.