https://github.com/ropubordee/table-reservation-backend-nodejs
ระบบจองโต๊ะ(หลังบ้าน)
https://github.com/ropubordee/table-reservation-backend-nodejs
bycrypt cloudinary jwt-authentication mysql prisma slipok
Last synced: 7 months ago
JSON representation
ระบบจองโต๊ะ(หลังบ้าน)
- Host: GitHub
- URL: https://github.com/ropubordee/table-reservation-backend-nodejs
- Owner: ropubordee
- Created: 2024-01-30T05:39:12.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-08T17:05:02.000Z (9 months ago)
- Last Synced: 2025-03-18T13:58:21.172Z (7 months ago)
- Topics: bycrypt, cloudinary, jwt-authentication, mysql, prisma, slipok
- Language: JavaScript
- Homepage:
- Size: 3.07 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Backend: โปรเจคระบบจองโต๊ะ
## 🚀 ฟังก์ชั่นหลักของระบบ
- 🔑 **ระบบสมัครสมาชิกและล็อกอิน**: สามารถสมัครสมาชิกและล็อกอินได้ โดยมีการตรวจสอบและ validate ข้อมูล
- 🎟️ **ระบบการจองโต๊ะ**:
- กรอกข้อมูลวันที่และเวลาที่ต้องการจอง
- ดูรายละเอียดของโต๊ะและราคาจอง
- ค้นหาชื่อโต๊ะได้
- 🛠️ **การแบ่ง Role**: ระบบจะมีการแบ่งผู้ใช้เป็น **user** และ **admin**
- 💸 **จ่ายเงิน**: ผู้ใช้สามารถจ่ายเงินโดยการอัพโหลด **รูปสลิป** และตรวจสอบสลิปโอนเงินผ่าน [slipok](https://slipok.com/)## 🧰 Framework และเครื่องมือที่ใช้
- **Node.js (Express)**: ใช้สำหรับการพัฒนา backend โดยแยกโฟลเดอร์ออกเป็น 5 ส่วน:
- `config`
- `utils`
- `router`
- `controller`
- `middlewares`
- **JWT Authentication**: ใช้ JWT ในการสร้างและจัดการ Token หลังจากผู้ใช้ล็อกอินเพื่อความปลอดภัย
- ค่าของ Token จะมีการกำหนดวันหมดอายุ
- ตัวอย่างการใช้งาน:```javascript
const token = jwt.sign(userData, secretKey, { expiresIn: '1h' });
```- **Prisma ORM**: ใช้ Prisma ในการเชื่อมต่อฐานข้อมูล MySQL และจัดการกับ CRUD operation
- ตัวอย่างการสร้างฐานข้อมูล:```javascript
const user = await prisma.user.create({
data: {
name: 'John Doe',
email: 'john@example.com',
},
});
```- **การอัพโหลดไฟล์รูป**: รองรับการอัพโหลดได้แค่เพียง **1 รูป** เพื่อเก็บในโฟลเดอร์ `uploads` แต่ไม่เก็บในฐานข้อมูล
- 💸 **จ่ายเงินและตรวจสอบสลิปโอนเงิน**:
คุณสามารถตรวจสอบสลิปโอนเงินได้ผ่าน [slipok](https://slipok.com/) และเก็บ token ไว้ในไฟล์ `.env`## 💡 คำแนะนำเพิ่มเติม
- 🔐 อย่าลืมตั้งค่าไฟล์ `.env` สำหรับการเก็บ **Token** และ **ข้อมูลลับ** ต่าง ๆ
- ⚙️ ตรวจสอบให้แน่ใจว่า **Prisma Client** ได้ทำการ migrate ฐานข้อมูลเรียบร้อยแล้ว