- มีฟีเจอร์สำหรับสร้างแผนการออกกำลังกายและติดตามความคืบหน้า พร้อมฐานข้อมูลท่าออกกำลังกายขนาดใหญ่
- เริ่มต้นจากประสบการณ์ความล้มเหลวของ workout.lol และมุ่งสู่การเป็นโปรเจ็กต์ที่พัฒนาได้อย่างยั่งยืนและต่อยอดได้สำหรับคอมมูนิตี้โอเพนซอร์ส
- ใช้สถาปัตยกรรมบนพื้นฐานของ Feature-Sliced Design และ Next.js โดยเน้นความเป็นอิสระของแต่ละฟีเจอร์ ความสามารถในการขยายระบบ และการดูแลรักษาโค้ด
- ฐานข้อมูลท่าออกกำลังกายสามารถนำเข้าได้ง่ายด้วยไฟล์ CSV และมีรายละเอียดอย่างวิดีโอ กล้ามเนื้อเป้าหมายหลัก และคุณสมบัติของท่าออกกำลังกายหลากหลายแบบ
- ในอนาคตมีแผนขยายฟีเจอร์อย่างต่อเนื่องจากการมีส่วนร่วมของคอมมูนิตี้ เช่น แอปมือถือ ระบบแบดจ์/เกมมิฟิเคชัน การเชื่อมต่ออุปกรณ์สวมใส่ และฟอรั่มชุมชน
ภาพรวมและคุณค่าของ Workout-Cool
- Workout-Cool คือแพลตฟอร์มโค้ชฟิตเนสโอเพนซอร์สสมัยใหม่ที่ให้ผู้ใช้สามารถสร้างแผนการออกกำลังกายแบบเฉพาะตัว บันทึกความคืบหน้า ของตนเอง และใช้งานฐานข้อมูลท่าออกกำลังกายที่ครบถ้วนได้อย่างกว้างขวาง ทั้งคำอธิบาย วิดีโอ และอื่น ๆ
- ผู้พัฒนาซึ่งเคยมีประสบการณ์โดยตรงกับการถูกปล่อยทิ้งและยุติของโปรเจ็กต์ workout.lol ได้ทำให้มันกลับมาเกิดใหม่ในรูปแบบของแพลตฟอร์มฟิตเนสโอเพนซอร์สที่ยั่งยืนและทันสมัยกว่าเดิมสำหรับคอมมูนิตี้สายออกกำลังกาย
จุดเริ่มต้นและแรงจูงใจของโปรเจ็กต์
- ในฐานะผู้มีส่วนร่วมหลักของโปรเจ็กต์ workout.lol ผู้พัฒนาเคยเผชิญปัญหาจากความล้มเหลวในการร่วมงานกับพาร์ตเนอร์ด้านวิดีโอ รวมถึงปัญหาเรื่องค่าใช้จ่ายลิขสิทธิ์วิดีโอ
- หลังจากโปรเจ็กต์ถูกขายต่อให้ผู้อื่น ก็ถูกยุติอย่างรวดเร็ว และแม้จะพยายามติดต่อเจ้าของใหม่มากกว่า 9 เดือนก็ไม่ได้รับการตอบกลับ
- เพื่อไม่ให้คุณค่าของโปรเจ็กต์เดิมสูญเปล่า จึงตัดสินใจสร้างแพลตฟอร์มใหม่ที่ทันสมัยและได้รับการปรับปรุงอย่างรอบด้าน
- โปรเจ็กต์นี้ไม่ได้มีเป้าหมายเชิงพาณิชย์ แต่มีความหมายในฐานะการพัฒนาต่อยอดที่ให้คำมั่นเรื่องการดูแลรักษาและการพัฒนาอย่างต่อเนื่องที่เชื่อถือได้สำหรับคอมมูนิตี้โอเพนซอร์ส
ปรัชญาการดำเนินงานแบบขับเคลื่อนโดยคอมมูนิตี้
- ในฐานะทั้งนักพัฒนาและผู้ใช้งานจริง ผู้สร้างโปรเจ็กต์สะท้อนฟีเจอร์และประสบการณ์ที่คอมมูนิตี้ต้องการลงไปโดยตรง
- หากเคยเป็นผู้ใช้ workout.lol มาก่อนก็ยินดีต้อนรับ และถ้าเป็นผู้ใช้ใหม่ก็จะได้สัมผัสคุณค่าของแพลตฟอร์มฟิตเนสแห่งอนาคต
- ทุกคนสามารถมีส่วนร่วมโดยตรงและส่งข้อเสนอแนะเพื่อการปรับปรุงได้
ฐานข้อมูลท่าออกกำลังกายและการนำเข้า
- โปรเจ็กต์นี้มีฐานข้อมูลท่าออกกำลังกายที่ครบถ้วนรวมมาให้
- สามารถนำเข้าข้อมูลแบบกำหนดเองได้ผ่านรูปแบบ CSV ตัวอย่าง ซึ่งรองรับข้อมูลหลากหลายของแต่ละท่า เช่น id, ชื่อ, คำอธิบาย, URL วิดีโอ, รูปภาพ, กล้ามเนื้อเป้าหมายหลัก และแอตทริบิวต์ต่าง ๆ
- ตัวอย่างคอลัมน์หลัก: id, name, name_en, description, description_en, full_video_url, full_video_image_url, introduction, slug, attribute_name, attribute_value เป็นต้น
- ตัวอย่างประเภทแอตทริบิวต์: TYPE(แรงต้าน/คาร์ดิโอ/พลัยโอเมตริก/ยืดเหยียด), PRIMARY_MUSCLE, SECONDARY_MUSCLE, EQUIPMENT, MECHANICS_TYPE เป็นต้น
- สามารถ import ข้อมูลได้ทันทีด้วยคำสั่งเพียงบรรทัดเดียว ทำให้ขยายข้อมูลได้อย่างยืดหยุ่นมาก
สถาปัตยกรรมของโปรเจ็กต์
- พัฒนาบน Next.js App Router โดยใช้หลักการของ Feature-Sliced Design(FSD)
- สร้างโครงสร้างที่แยกเป็นอิสระตามฟีเจอร์และนำกลับมาใช้ซ้ำได้ง่าย
- แยกชั้นโดเมนอย่างชัดเจน: shared → entities → features → widgets → app
- รักษาความสอดคล้องของชั้น UI, บิสซิเนสลอจิก และชั้นข้อมูล
- ตัวอย่างการแยกไฟล์:
app/ - เส้นทางและเลย์เอาต์ของ Next.js
processes/ - โฟลว์ธุรกิจแบบซับซ้อน
widgets/ - UI แบบประกอบ เช่น Sidebar, Header
features/ - หน่วยฟีเจอร์หลัก เช่น การยืนยันตัวตน การจัดการการออกกำลังกาย
entities/ - ผู้ใช้ ท่าออกกำลังกาย เวิร์กเอาต์ เป็นต้น
shared/ - โค้ดและประเภทข้อมูลที่ใช้ร่วมกัน
styles/ - CSS/ธีมระดับโกลบอล
การพัฒนาและการดีพลอย
- ต้องใช้ Node.js 18+, PostgreSQL (ผ่าน Docker หรือเซ็ตอัปเอง), และ pnpm หรือ npm
- หลังจากโคลนโปรเจ็กต์แล้ว ให้ติดตั้ง dependency, ตั้งค่าตัวแปรสภาพแวดล้อม, ตั้งค่าฐานข้อมูล (อัตโนมัติหรือด้วยตนเอง) และเข้าใช้งานที่ http://localhost:3000 ผ่านเบราว์เซอร์
- สามารถรัน database migration และเซิร์ฟเวอร์สำหรับพัฒนาได้ด้วยตนเอง
- รองรับการ build Docker image และรันคอนเทนเนอร์ (อยู่ระหว่างแผน)
ฟีเจอร์ที่วางแผนไว้
- เพิ่มท่าออกกำลังกาย/วิดีโอ
- แอปมือถือ (พัฒนาด้วย React Native)
- เกมมิฟิเคชัน (เช่น ระบบแบดจ์)
- สถิติความคืบหน้าและการแสดงผลเชิงภาพขั้นสูง
- การเชื่อมต่ออุปกรณ์สวมใส่ (นาฬิกา/ตัวติดตาม)
- รองรับหลายภาษา
- การยืนยันตัวตนด้วย OAuth (Google, Apple เป็นต้น)
- ฟอรั่มชุมชนในตัว
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
workout.lolอยู่ตรงนี้ผมเคยขายแอปนี้ให้คนหนึ่ง แต่เขากลับปล่อยมันทิ้งไว้เฉย ๆ
ผมส่งข้อความไปหลายครั้งว่าถ้าต้องการความช่วยเหลือให้ติดต่อมาได้ แต่ก็ไม่เคยได้รับคำตอบเลย
ถึงอย่างนั้น พอเห็นว่าตอนนี้มีคนกลับมาดูแลมันอีกครั้ง ผมดีใจมากจริง ๆ
การปรับปรุง UI ก็ยอดเยี่ยมมาก งานดีจริง ๆ
คุณคงนึกไม่ออกว่าผมดีใจแค่ไหนตอนเห็นชื่อคุณโผล่มา
ผมเองก็เคยรู้สึกใจหายที่ต้องมองดูโปรเจกต์หยุดนิ่งไปแบบไม่ได้อะไรกลับมา
สุดท้ายสิ่งนั้นนี่แหละที่ผลักดันให้ผมรื้อทุกอย่างแล้วสร้างใหม่ โดยพยายามรักษาความเปิดกว้างแบบที่คุณเคยมีไว้ตอนเริ่มต้น
ขอบคุณสำหรับคำชมเรื่อง UI คำพูดแบบนี้จากคุณมีความหมายมากจริง ๆ
ถ้าอยากกลับมามีส่วนร่วมเมื่อไรก็ยินดีต้อนรับเสมอ
ไม่ว่าจะเป็นไอเดีย ความเห็น หรือแค่การมีอยู่ของคุณก็มีความหมายมาก
ผมกำลังทำ API สำหรับจัดตารางปฏิทินอัตโนมัติที่เชื่อมกับ Apple CalDAV(iCal)
มันเป็นฟีเจอร์จัดการตารางโดยยึดเป้าหมายเป็นศูนย์กลาง และใช้ Google ORTools คำนวณโมเดลข้อจำกัด CP-SAT ขนาดใหญ่มากได้เร็วมาก ถึงขั้นคำนวณทั้งปีได้ภายใน 5 วินาที
มีฟีเจอร์ด้านโภชนาการที่จัดแผนอาหารให้ตรงกับเป้าหมายการกินด้วย
จริง ๆ ผมอยากใส่ระบบแผนออกกำลังกาย/การฝึกแบบนี้มาก แต่ไม่รู้จะใช้อะไรเลย
ตอนนี้ชัดเจนแล้วว่าควรใช้อะไร
ขอบคุณที่สร้างโปรเจกต์นี้ขึ้นมา
เลยอยากติดตามดูว่าโปรเจกต์นี้จะมีอนาคตแบบไหนต่อไป
error loading exercisesอยากรู้ว่าคุณคิดอย่างไรกับโปรเจกต์ wger
https://github.com/wger-project เป็นแพลตฟอร์มจัดการฟิตเนส/การออกกำลังกาย/โภชนาการแบบ self-hosted ที่เป็น FLOSS ภายใต้ไลเซนส์ AGPL
น่าจะมีมาเกือบ 10 ปีแล้ว เป็นแอปบน Django และมีแอป Flutter อย่างเป็นทางการด้วย ใช้ได้บน Android/iOS/Windows/Linux/macOS
รองรับหลายผู้ใช้ และใช้บริหารยิมได้ด้วย
body.build เป็นโปรเจกต์ FLOSS รุ่นใหม่ที่ทำงานบนเบราว์เซอร์และเน้นการสร้างโปรแกรมเวทเทรนนิง
ผู้เขียน body.build ก็มีส่วนร่วมกับ wger เช่นกัน
หลังจากลองผิดลองถูกมานาน ตอนนี้ผมใช้ wger บน homelab ได้ค่อนข้างดี
มีหลายอย่างที่ต้องพิจารณาเวลา self-host แต่ใช้งานได้ดี
ข้อเสียใหญ่สุดคือฐานข้อมูลท่าออกกำลังกายยังไม่ครอบคลุมมากนัก แต่โชคดีที่ผู้มีส่วนร่วมช่วยกันขยายอยู่เรื่อย ๆ
ถ้าใครช่วยเพิ่มข้อมูลท่าออกกำลังกาย (รวมถึงสื่อประกอบท่า) ได้ โปรเจกต์ AGPL นี้น่าจะซาบซึ้งมาก
UX ของเว็บไซต์แย่มาก และแอปมือถือก็เต็มไปด้วยบั๊ก (บน iOS)
ไม่ว่าจะกดเริ่มออกกำลังกาย แก้น้ำหนัก หรือบันทึกเซสชัน แอปก็เด้งหรือค้างตลอด แถมหลุดออกจากระบบซ้ำ ๆ
ตอนนี้ผมใช้ LiftLog อยู่ ซึ่งมีครบทุกอย่างที่ผมต้องการและเป็น FOSS
https://github.com/LiamMorrow/LiftLog
ทั้งที่ฟิตเนสและเวทเทรนนิงเป็นงานอดิเรกที่ฮิตมากในตอนนี้ แต่กลับแทบไม่มีแอปที่ไม่เชิงพาณิชย์และดูแลต่อเนื่องซึ่งใช้งานได้ดีเลย เป็นเรื่องน่าแปลก
นี่คือข้อสรุปหลังจากผมลองโปรเจกต์บน Github ด้วยตัวเองมาหลายสิบตัว
พอมีประสบการณ์แล้ว สิ่งที่สำคัญกว่าฟีเจอร์ของแอปก็คือการบันทึกอย่างสม่ำเสมอเพื่อจัดการ progressive overload
แอปนี้เป็นตัวเลือกที่ดีสำหรับผู้เริ่มต้น
ถ้าอยากให้คนใช้กว้างขึ้น มีอยู่ 2 อย่างที่ต้องมี
https://json-schema.app/view/#?url=https%3A%2F%2Fgist.githubusercontent.com%2Fgavmor%2Fb74c4746aa9f3f63b0f50863a5e62d52%2Fraw%2F01318d1107f67ac83387a905d6556736fa7797ff%2Flifting.json
แต่ผมไม่เห็นด้วยว่าแอปแบบนี้จะเป็นตัวเลือกที่ดีสำหรับมือใหม่
ขอชื่นชมกับความพยายาม แต่ผมกังวลกับการจัดเรียงท่าออกกำลังกายที่แนะนำอยู่พอสมควร
ตัวอย่างเช่น ถ้าเลือก ‘หลัง/ไบเซป’ จะมี 9 ท่าเด้งขึ้นมาแบบไร้ระเบียบ
ไม่มีการคำนึงถึงลำดับหรือการจัดเรียงท่าเลย บางทีคอมพาวด์ลิฟต์ไปโผล่อยู่กลางรายการ หรือมี chin-up ซ้ำสามครั้ง
ไม่มีการคำนวณ 1RM ที่เกี่ยวกับจำนวนครั้ง/เซ็ต/น้ำหนัก
แนะนำ bro split แบบไม่ใช่แนวทางมาตรฐาน และยิ่งทำให้สับสนกว่าเดิม
ผมเลยคิดว่าถ้าทำแอป PPL ขั้นต่ำโดยยึดตามอุปกรณ์ที่มี อาจออกมาดีกว่านี้มาก
สำหรับผมเองก็เหมือนกัน พอมีประสบการณ์แล้ว สิ่งที่สำคัญจริง ๆ คือความสม่ำเสมอและการบันทึกความคืบหน้า (สำหรับผมทุกวันนี้เน้นเช็กสภาพจิตใจมากกว่าผลงานแล้ว)
ฟีเจอร์บันทึกรูทีนและติดตามระยะยาวอยู่ใน roadmap แล้ว
เพราะงั้นสถาปัตยกรรม
workout sessionเลยถูกออกแบบต่างจากแอปเก่าโดยสิ้นเชิงผมอยากค่อย ๆ ทำให้ผู้ใช้สร้าง training block แยกเดี่ยวได้ แล้วนำกลับมาใช้ซ้ำ แชร์ วิเคราะห์ และพัฒนาต่อได้อย่างเหมาะสมที่สุด
ถ้าคุณสะดวก ผมอยากฟังว่าคุณจัดการเรื่องรูทีนแบบนี้ใน PWA ที่คุณทำอย่างไร
ดูเหมือนเราเดินมาในเส้นทางคล้ายกัน เลยอยากฟังจริง ๆ
https://wrkout.xyz/ (Open exercise database API พร้อมรูปภาพ/วิดีโอ)
https://github.com/wrkout/exercises.json (ชุดข้อมูลท่าออกกำลังกายแบบโอเพนซอร์ส)
ถ้าจำเป็นแนะนำให้นำไปใช้
แต่ครั้งนี้ผมตั้งใจหลีกเลี่ยงประเด็นไลเซนส์เกี่ยวกับวิดีโอให้ชัดเจน เลยทำชุดข้อมูลขึ้นใหม่ทั้งหมดตั้งแต่ต้นกับพาร์ตเนอร์
เพื่อให้ควบคุมข้อมูลได้เต็มที่และแก้ไขทุกอย่างได้ตามต้องการ ทั้งคุณสมบัติและคำแปล
ถึงอย่างนั้น ผมก็ดีใจมากที่มีโปรเจกต์โอเพนหลากหลายเกิดขึ้นในสายนี้
ถ้าชุมชนทั้งสองฝั่งเติบโตไปด้วยกันได้ ผมก็อยากหาทางสร้างพลังร่วมกันแน่นอน
DM มาได้เสมอ
ไม่ใช่แค่โยนไอเดียมา แต่รวบรวมชุดข้อมูลไว้ให้แล้วจนมือใหม่เริ่มได้ทันที
ขอบคุณมากจริง ๆ
สิ่งที่ผมอยากได้คือฟีเจอร์แนะนำจำนวนครั้ง/น้ำหนักสำหรับแต่ละท่า
อาจอ้างอิงโปรแกรมฟิตเนสชื่อ
100 Pushupsก็ได้ถ้าสนใจ ผมยินดีคุยเรื่อง UI ได้ทุกเมื่อ
เก็บข้อมูลผู้ใช้ทั้งหมดไว้ใน PDS ได้เลย ไม่ต้องมีเซิร์ฟเวอร์แยก
ต่อให้โปรเจกต์ถูกทิ้งอีกครั้ง ข้อมูลก็ยังใช้งานได้ถาวร
ผมรู้จักแอปนั้นอยู่ มันเรียบง่ายมาก และแนวทางการพัฒนาแบบปรับตัวได้ของมันเหมาะกับการสร้างแรงจูงใจให้มือใหม่จริง ๆ
ผมอยากคุยเรื่อง UI สำหรับรูทีนแบบ self-regulated และค่อย ๆ เพิ่มความหนักแบบนี้มาก
เดี๋ยวผมจะลองคิดอัลกอริทึมแบบหยาบ ๆ ดูก่อน DM มาได้เลย
0:{"a":"$@1","f":"","b":"eETmgndxtv4Ar0i8Wync1"}
1:{"serverError":"An unexpected error occurred."}
ผมแชร์โค้ดคำขอไว้ด้วย (พร้อม header และข้อมูลละเอียด)
ทราฟฟิกจาก HN ที่พุ่งขึ้นมากะทันหันทำให้เซิร์ฟเวอร์พังเกินคาด
จะรีบจัดการให้เสถียรและแก้บั๊กเร็ว ๆ นี้
ขอบคุณอีกครั้งสำหรับการทดสอบและฟีดแบ็ก
แต่ในเชิงพื้นฐาน ระบบแนะนำท่าออกกำลังกายยังไม่ได้คำนึงถึงหัวใจสำคัญของการออกแบบโปรแกรมฟิตเนส
ในสภาพปัจจุบัน ผมแนะนำให้ใช้เพื่อออกแบบโปรแกรมออกกำลังกายได้ยาก
ผมคิดว่าควรโฟกัสที่การบันทึกการออกกำลังกายที่มีโครงสร้างดีอยู่แล้วหรือการ import เทมเพลตรูทีน มากกว่าการสร้างรูทีนอัตโนมัติ (และผมก็เห็นว่าคุณสนใจทางนี้อยู่แล้วด้วย)
นี่คือรายการปัญหาหลักที่ผมเจอ
UI และคำอธิบายดีมากจริง ๆ แต่การเลือกท่าออกกำลังกายยังดูคลุมเครือหรือไม่สมเหตุสมผลอยู่มาก (แม้ในกรณีที่มีรายการขึ้นมา)
บางทีอาจดีกว่าถ้าใส่ท่ามาตรฐานหลัก/รองทั้งหมดลงในฐานข้อมูลก่อน (bar, dumbbell, machine) แล้วให้ผู้ใช้สร้างรูทีนเอง
ถ้ามีตัวเลือกทดแทนสำหรับแต่ละท่าด้วยก็น่าจะดี
พอทุกอย่างพวกนี้พร้อมแล้วค่อยทำระบบสร้างรูทีน และถ้าได้เทรนเนอร์จริงมาช่วยให้ฟีดแบ็กก็น่าจะยอดเยี่ยมมาก
เรื่องอุปกรณ์ควรทำให้เรียบง่ายและเป็นมาตรฐานที่สุด และหลีกเลี่ยงเครื่องแบบติดแบรนด์ให้มากที่สุด
ความคิดเห็นระดับรายละเอียดแบบนี้มีค่าอย่างมาก โดยเฉพาะในช่วงแรก
ตรรกะของโปรแกรมออกกำลังกายตอนนี้ยังพื้นฐานมากจริง ๆ
ยังสะท้อนหลักการฝึกอย่าง volume, movement pattern, recovery cycle, compound/isolation ได้ไม่เพียงพอ
เวอร์ชันตอนนี้เป็นแค่เครื่องมือสำหรับ “สำรวจ” จริง ๆ ยังไม่ใช่โค้ชอัจฉริยะเลยแม้แต่น้อย
ผมน่าจะต้องสื่อสารเรื่องนี้ให้ชัดใน UI
ขอตอบเป็นข้อ ๆ
ผมเข้าใจดีว่าบางคนมีดัมเบลกับบาร์โหน แต่ไม่อยากใช้เคเบิลหรือแมชชีน และจะทำ UI ส่วนนี้ให้ชัดขึ้น
(ตอนนี้ต้องทำซ้ำ 2 ครั้งเพราะปัญหา render)
ผมอยากพัฒนาไปบนหลักการที่ดี และถ้าเป็นไปได้ก็อยากให้คุณช่วยร่วมคิดเรื่องทิศทางด้วย แม้จะเป็นแค่ไอเดียก็ตาม
ถ้าเป็นโซลูชันที่ deploy และใช้งานได้บนฮาร์ดแวร์ฝั่งผู้บริโภคโดยตรงยิ่งน่าสนใจ
เช่น ผมมีบาร์โหน แต่ไม่รู้ว่ามันใช้ฝึกกล้ามเนื้ออะไรได้บ้าง
บางทีใช้เป็นระบบฟิลเตอร์แบบ ‘เริ่มต้นง่าย’ อาจดีกว่า
มีคนอื่นให้ฟีดแบ็กคล้ายกันเหมือนกัน
ผมจะทำให้ตัวเลือกฟิลเตอร์เป็นทางเลือกแทน และเพิ่มคำแนะนำอย่าง ‘เหมาะกับมือใหม่’, ‘ท่ายอดนิยม’, ‘calisthenics’ เป็นต้น
ขอบคุณที่บอกนะ
ช่วง onboarding ตอนต้นบังคับให้เลือกกล้ามเนื้อ แต่สำหรับมือใหม่ที่ไม่รู้ว่ารูทีนไหนเล่นกล้ามเนื้ออะไรบ้าง มันเป็นกำแพงในการเริ่มต้น
ผมพอรู้คร่าว ๆ ว่า “push”, “pull”, “leg” คืออะไร แต่ชื่อกล้ามเนื้อเฉพาะทางนี่ไม่คุ้นเลย
สุดท้ายแอปนี้เลยเหมาะกับคนที่จะไปศึกษา anatomy อยู่แล้วเท่านั้น
ควรคิดหาวิธีให้เริ่มต้นได้ง่ายกว่านี้อีกหน่อย
เช่น กลุ่มกล้ามเนื้อแนะนำ หรือ preset
ตอนนี้ onboarding ตั้งสมมติฐานเรื่องความรู้ของผู้ใช้ไว้สูงเกินไปจริง ๆ (มากกว่าที่คิดไว้เสียอีก)
มือใหม่ไม่ได้อยากรู้เรื่อง “rear delts” หรือ “lats” หรอก เขาแค่อยากแข็งแรงขึ้นและหุ่นดีขึ้น
ในอัปเดตถัดไปจะมี
เป้าหมายคือทำประสบการณ์ที่เป็นมิตร ให้เริ่มได้ทันทีโดยไม่ต้องไปเรียน anatomy ก่อน
ฟีดแบ็กของคุณช่วยได้มากจริง ๆ
ขอเป็นกำลังใจให้กับเส้นทางฟิตเนสของคุณ