Skip to content

Tanh-Ng/eSportGuru

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eSportGuru

Nền tảng kết nối Learner và Sherpa eSports, học trên Discord. Monorepo với apps/api (NestJS) và apps/client (Next.js App Router).

Yêu cầu môi trường

  • Node.js 18+ (khuyến nghị 20 LTS)
  • npm (bundled cùng Node)
  • PostgreSQL 14+ (đặt DATABASE_URL)

Cài đặt nhanh

npm install

Cấu trúc thư mục

  • apps/api: NestJS backend, Prisma schema, Discord bridge mock
  • apps/client: Next.js 14 (App Router), Tailwind UI
  • apps/api/prisma/schema.prisma: định nghĩa DB

Thiết lập backend (NestJS)

cd apps/api
npm install
  1. Tạo file .env:
DATABASE_URL="postgresql://USER:PASSWORD@localhost:5432/esportguru"
PORT=3001
  1. (Khi thêm Prisma client) chạy:
npx prisma migrate dev --name init
npx prisma generate
  1. Chạy server:
npm run start:dev

Thiết lập frontend (Next.js)

cd apps/client
npm install
npm run dev

Mặc định chạy ở http://localhost:3000.

Tích hợp Discord (giả lập)

apps/api/src/discord/discord.service.ts cung cấp createPrivateRoom(bookingId) trả về discordChannelIdinviteLink giả, đủ để frontend hiển thị nút Join.

Luồng booking (tối giản hiện tại)

  • POST /booking tạo booking (PENDING).
  • POST /booking/:id/confirm xác nhận, gán discordChannelId + inviteLink.
  • POST /booking/:id/reject hủy.
  • GET /booking/:id/invite lấy link Join Discord cho Learner/Sherpa.

Lệnh hữu ích

  • Kiểm tra lint (khi đã cấu hình): pnpm lint
  • Format (nếu dùng Prettier): pnpm format

Ghi chú

  • Hiện services dùng in-memory để demo; cần nối Prisma + Postgres cho môi trường thật.
  • Tailwind đã cấu hình sẵn trong apps/client/tailwind.config.tsglobals.css.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors