โปรเจคนี้เป็นเว็บแอปพลิเคชันสำหรับแสดงข้อมูลและสถิติต่างๆ จากบัญชี Spotify ของคุณ สร้างขึ้นโดยใช้ Next.js และเชื่อมต่อกับ Spotify API เพื่อดึงข้อมูล
- ดูข้อมูลโปรไฟล์: แสดงข้อมูลโปรไฟล์ Spotify ของคุณ
- เพลงที่กำลังเล่น: แสดงเพลงที่กำลังเล่นอยู่ในปัจจุบัน
- ศิลปินยอดนิยม: ดูรายชื่อศิลปินที่คุณฟังบ่อยที่สุด
- ประวัติการฟัง: ย้อนดูเพลงที่คุณเพิ่งฟังไปล่าสุด
- จัดการอุปกรณ์: ดูรายการอุปกรณ์ที่พร้อมเล่นเพลง
| หน้าเข้าสู่ระบบ | หน้าหลัก | Modal บังคับให้เข้าสู่ระบบ |
![]() |
![]() |
![]() |
- Framework: Next.js
- Language: TypeScript
- Styling: Tailwind CSS
- Data Fetching: Axios
- API: Spotify Web API
ทำตามขั้นตอนต่อไปนี้เพื่อติดตั้งและรันโปรเจคบนเครื่องของคุณ
- Node.js (v18.x หรือสูงกว่า)
- Bun
-
Clone a repository:
git clone https://github.com/NekoSakuraLucia/Spotify-Web-Player cd Spotify-Web-Player -
ติดตั้ง Dependencies:
bun install
-
ตั้งค่า Environment Variables:
-
สร้างไฟล์
.env.localที่ root ของโปรเจค -
ไปที่ Spotify Developer Dashboard เพื่อสร้างแอปพลิเคชันและรับ
Client IDและClient Secret -
ในหน้าตั้งค่าของแอปบน Spotify Dashboard, เพิ่ม
http://127.0.0.1:3000/api/auth/callbackในส่วนของ Redirect URIs -
คัดลอกเนื้อหาด้านล่างไปวางในไฟล์
.env.localและแทนที่ด้วยข้อมูลของคุณ:# Spotify Provider SPOTIFY_CLIENT_ID='' # Client Id จาก spotify ของคุณ SPOTIFY_CLIENT_SECRET='' # Client Secret จาก spotify ของคุณ SPOTIFY_REDIRECT_URI='http://127.0.0.1:3000/api/auth/callback/spotify' # ปรับ redirect_uri ตามที่คุณตั้งค่า # Cookies SPOTIFY_CALLBACK_COOKIES='spotify-callback' # ค่าสำหรับคุกกี้ในการเก็บ access_token SPOTIFY_REFRESH_TOKEN_COOKIES='spotify_refresh_token' # ค่าสำหรับคุกกี้ในการเก็บ refresh_token
-
-
รันแอปพลิเคชัน:
bun dev
-
เปิดเบราว์เซอร์และไปที่ http://localhost:3000 หรือ http://127.0.0.1:3000
โปรเจคนี้มี API routes สำหรับการสื่อสารกับ Spotify API:
GET /api/spotify/me: ดึงข้อมูลผู้ใช้ปัจจุบันGET /api/spotify/me/devices: ดึงข้อมูลอุปกรณ์ที่พร้อมใช้งานGET /api/spotify/me/currently-playing: ดึงข้อมูลเพลงที่กำลังเล่นGET /api/spotify/me/top/artists: ดึงข้อมูลศิลปินยอดนิยม (รองรับ query params:limit,offset)GET /api/spotify/me/recently-played: ดึงข้อมูลเพลงที่เล่นล่าสุด (รองรับ query params:limit,after,before)


