- वर्कआउट प्लान बनाना, प्रगति ट्रैक करना, और एक विशाल वर्कआउट डेटाबेस उपलब्ध कराने जैसी सुविधाएँ शामिल हैं
- यह पहले के 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 किया जा सकता है, इसलिए डेटा विस्तार क्षमता बेहतरीन है
प्रोजेक्ट आर्किटेक्चर
- Feature-Sliced Design(FSD) सिद्धांतों को लागू करने वाला Next.js App Router आधारित ढाँचा
- हर फीचर के लिए स्वतंत्र और पुन: उपयोग में आसान संरचना लागू की गई है
- स्पष्ट डोमेन लेयर विभाजन: shared → entities → features → widgets → app
- UI, बिज़नेस लॉजिक, और डेटा लेयर की संगति बनाए रखी गई है
- फ़ाइल विभाजन उदाहरण:
app/ - Next.js routes और layouts
processes/ - जटिल बिज़नेस flow
widgets/ - संयोज्य UI (जैसे Sidebar, Header)
features/ - मुख्य यूनिट्स (authentication, workout management आदि)
entities/ - user, exercise, workout आदि
shared/ - साझा कोड और types
styles/ - global CSS/theme
विकास और डिप्लॉयमेंट
- Node.js 18+ आवश्यक है, PostgreSQL (Docker या सीधे सेटअप), और pnpm या npm चाहिए
- clone करने के बाद dependencies install करें, environment variables सेट करें, database setup करें (ऑटो या मैनुअल), फिर ब्राउज़र में http://localhost:3000 खोलें
- database migration सीधे चलाए जा सकते हैं और development server भी शुरू किया जा सकता है
- Docker image build और container run (योजना में)
आने वाले फीचर्स
- वर्कआउट/वीडियो जोड़ना
- मोबाइल ऐप (React Native आधारित)
- गेमिफिकेशन (बैज सिस्टम आदि)
- उन्नत प्रगति आँकड़े और विज़ुअलाइज़ेशन
- वेयरेबल (वॉच/ट्रैकर) इंटीग्रेशन
- बहुभाषी समर्थन
- OAuth authentication (Google, Apple आदि)
- बिल्ट-इन कम्युनिटी फ़ोरम
1 टिप्पणियां
Hacker News टिप्पणियाँ
मैंने यह ऐप एक व्यक्ति को बेच दिया था, लेकिन फिर उन्होंने इसे बस यूँ ही छोड़ दिया
ज़रूरत पड़े तो संपर्क करने के लिए मैंने कई बार मैसेज भी किए, लेकिन एक भी जवाब नहीं मिला
फिर भी अब इसे फिर से संभालते देख सच में बहुत खुशी हो रही है
UI में सुधार भी शानदार है, सच में कमाल का काम
तुम्हारा नाम दिखकर मुझे कितनी खुशी हुई, यह तुम सोच भी नहीं सकते
मैंने भी बिना किसी नतीजे के किसी प्रोजेक्ट को रुकते हुए देखा है, और वह दिल तोड़ देने वाला लगता है
आखिरकार उसी ने मुझे सब कुछ दोबारा शुरू करके, तुम्हारे शुरुआती open mind वाले दृष्टिकोण को बनाए रखते हुए इसे फिर से बनाने की प्रेरणा दी
UI की तारीफ़ के लिए धन्यवाद, तुम्हारी तरफ़ से यह सुनना मेरे लिए बहुत मायने रखता है
अगर कभी वापस आना चाहो, तो तुम्हारा हमेशा स्वागत है
तुम्हारे ideas, opinions, या सिर्फ़ मौजूदगी भी बहुत मायने रखती है
मैं अभी एक automatic calendar scheduling API पर काम कर रहा हूँ जो Apple CalDAV(iCal) के साथ sync होती है
मैं goal-centered schedule management बना रहा हूँ (Google ORTools के साथ बहुत बड़े CP-SAT constraint models को तेज़ी से compute करता हूँ, 1 साल का calculation भी 5 सेकंड के भीतर हो जाता है)
इसमें nutrition target के मुताबिक meal planning फीचर भी शामिल है
दरअसल मैं ऐसा workout/training plan system ज़रूर जोड़ना चाहता था, लेकिन समझ नहीं आ रहा था कि क्या इस्तेमाल करूँ
अब पहली बार साफ़ हो गया है कि क्या इस्तेमाल करना है
यह प्रोजेक्ट बनाने के लिए धन्यवाद
अब देखना चाहूँगा कि इस प्रोजेक्ट का भविष्य क्या होता है
क्या आप wger प्रोजेक्ट के बारे में क्या सोचते हैं, यह जानना चाहता हूँ
https://github.com/wger-project FLOSS AGPL लाइसेंस वाला self-hosted fitness/workout/nutrition management platform है
शायद लगभग 10 साल पुराना है, Django app पर आधारित है, और इसकी official Flutter app भी है, इसलिए Android/iOS/Windows/Linux/macOS पर इस्तेमाल हो सकती है
यह multi-user support देता है, यहाँ तक कि gym management के लिए भी इस्तेमाल हो सकता है
body.build एक नया FLOSS प्रोजेक्ट है, browser-based है, और weight training programs बनाने पर केंद्रित है
body.build के लेखक wger में भी योगदान देते हैं
मैंने काफ़ी trial and error के बाद अपने homelab में wger को ठीक से इस्तेमाल करना शुरू किया है
self-hosting में काफ़ी चीज़ें ध्यान रखनी पड़ती हैं, लेकिन यह अच्छी तरह काम करता है
सबसे बड़ी कमी इसकी exercise database की व्यापकता है, लेकिन अच्छी बात यह है कि contributors इसे धीरे-धीरे बढ़ा रहे हैं
अगर कोई exercise data (और exercise media) contribute कर सकता है, तो इस AGPL प्रोजेक्ट में उसकी निश्चित ही बहुत सराहना होगी
वेबसाइट का UX बहुत खराब है और mobile app (iOS पर) bugs से भरी हुई है
exercise शुरू करने, weight बदलने, session log करने—कुछ भी दबाओ, यह बार-बार crash या hang हो जाती है, और बार-बार logout भी हो जाता है
अभी मैं LiftLog इस्तेमाल कर रहा हूँ, यह मेरी ज़रूरत की सारी चीज़ें support करता है और FOSS भी है
https://github.com/LiamMorrow/LiftLog
यह हैरानी की बात है कि fitness और weight training आजकल इतना आम hobby होने के बावजूद, अच्छे और ठीक से maintained non-commercial apps लगभग नहीं हैं
मैंने दर्जनों Github projects खुद इस्तेमाल करके यह निष्कर्ष निकाला है
अनुभव बढ़ने के बाद app के features से ज़्यादा अहम बात यह होती है कि आप कितनी consistency से log रखते हैं और progressive overload manage करते हैं
यह app beginners के लिए शुरुआत करने का अच्छा विकल्प है
लेकिन इसे ज़्यादा व्यापक रूप से इस्तेमाल करने लायक बनने के लिए 2 चीज़ें ज़रूरी हैं
https://json-schema.app/view/#?url=https%3A%2F%2Fgist.githubusercontent.com%2Fgavmor%2Fb74c4746aa9f3f63b0f50863a5e62d52%2Fraw%2F01318d1107f67ac83387a905d6556736fa7797ff%2Flifting.json
लेकिन मैं इस बात से सहमत नहीं हूँ कि beginners के लिए यह app अच्छा विकल्प है
मेहनत की तारीफ़ है, लेकिन recommended exercises की arrangement थोड़ी चिंताजनक है
उदाहरण के लिए, अगर ‘back/biceps’ चुनते हैं, तो 9 exercises बिना किसी क्रम के दिखाई देती हैं
exercise order या arrangement का कोई ध्यान नहीं है; compound lifts बीच में आ जाते हैं, या chin-ups तीन बार तक दिख जाते हैं
reps/sets/weight के लिए 1RM calculation नहीं है
और जो bro split recommend किया गया है वह standard नहीं है, बल्कि और ज़्यादा बिखरा हुआ लगता है
मुझे लगा कि अगर equipment-based minimum PPL app बनाया जाए, तो वह इससे कहीं बेहतर हो सकता है
मेरे लिए भी, अनुभव बढ़ने के बाद आखिरकार सबसे अहम चीज़ consistency और progress logging ही है (मेरे मामले में यह अब performance से ज़्यादा mental health tracking के लिए है)
routine save करना और long-term tracking roadmap में है
इसीलिए 'workout session' architecture पुराने app से बिल्कुल अलग तरीके से डिज़ाइन किया गया है
मैं चाहता हूँ कि users individual training blocks बना सकें, और उन्हें reuse, share, analyze, और evolve करने का सबसे अच्छा अनुभव मिले
अगर तुम बताओ कि अपने बनाए PWA में तुमने इस तरह के routine management को कैसे approach किया, तो अच्छा लगेगा
लगता है हम काफ़ी मिलते-जुलते रास्ते पर रहे हैं, इसलिए तुम्हारा अनुभव ज़रूर सुनना चाहूँगा
https://wrkout.xyz/ (images/videos के साथ open exercise database API)
https://github.com/wrkout/exercises.json (open source exercise dataset)
ज़रूरत हो तो इस्तेमाल करने की सलाह दूँगा
इस बार video licensing issues को साफ़-साफ़ टालने के लिए, मैंने और मेरे partner ने dataset को पूरी तरह शून्य से बनाया है
ताकि attributes, translations वगैरह सब कुछ अपनी ज़रूरत के मुताबिक बदल सकें और data पर पूरा control हो
फिर भी इस क्षेत्र में इतने अलग-अलग open projects उभरते देखना बहुत अच्छा लगता है
और अगर दोनों communities साथ बढ़ सकती हैं, तो मैं ज़रूर synergy तलाशना चाहूँगा
DM का स्वागत है
सिर्फ़ idea फेंकना नहीं, बल्कि पहले से dataset इकट्ठा करके दे देना ताकि beginner भी तुरंत शुरू कर सके
सच में बहुत धन्यवाद
मुझे जिस चीज़ की चाह है, वह है exercise के हिसाब से weight/reps recommendation फीचर
'100 Pushups' नाम के fitness program से inspiration ली जा सकती है
अगर दिलचस्पी हो तो UI discussion के लिए भी मैं तैयार हूँ
सारा user data PDS में store होगा, अलग server की ज़रूरत नहीं पड़ेगी
अगर प्रोजेक्ट फिर से छोड़ भी दिया जाए, तब भी data स्थायी रूप से काम करता रहेगा
मैं इस app को जानता हूँ, यह सच में simple है, और इसका adaptive progression model beginners को motivate करने में खास तौर पर बेहतरीन है
self-regulated progressive routine implementation के UI पर चर्चा ज़रूर करना चाहूँगा
मैं पहले एक (कच्चा-सा) algorithm सोचकर देखता हूँ, तब तक DM कर देना
0:{"a":"$@1","f":"","b":"eETmgndxtv4Ar0i8Wync1"}
1:{"serverError":"An unexpected error occurred."}
मैं request code (विस्तृत headers और जानकारी सहित) भी साझा कर रहा हूँ
HN traffic के अचानक उछाल से server उम्मीद से कहीं ज़्यादा दब गया
stabilization और bug fixes जल्द आने वाले हैं
टेस्टिंग और feedback के लिए फिर से धन्यवाद
लेकिन मूल समस्या यह है कि exercise recommendation system fitness program design की बुनियादी बातों को ध्यान में नहीं रखता
मौजूदा स्थिति में इसे workout program design के लिए recommend करना मुश्किल है
बेहतर होगा कि routine generation से ज़्यादा, पहले से proven workout logging और routine template import पर ध्यान दिया जाए (मैंने देखा कि इसमें आपकी दिलचस्पी पहले से है)
मैंने जिन मुख्य समस्याओं का सामना किया, वे ये हैं
UI और explanations सच में अच्छे हैं, लेकिन exercise selection (जब उपलब्ध भी हो) अस्पष्ट या तर्कहीन लगती है
क्यों न database में standard primary/secondary (bar, dumbbell, machine) exercises अच्छे से भर दिए जाएँ, और users को अपनी routines खुद बनाने दी जाएँ
अगर specific exercise alternatives भी हों तो और अच्छा रहेगा
यह सब तैयार होने के बाद ही routine generation लागू किया जाए, और अगर असली trainers feedback दें तो बहुत अच्छा होगा
उपलब्ध equipment को simple/standard रखा जाए, branded machines को जितना हो सके हटाया जाए
ऐसी detailed opinions इस शुरुआती चरण में खास तौर पर बहुत मददगार हैं
अभी exercise programming logic सच में बहुत basic है
training principles (volume, movement patterns, recovery cycle, compound/isolation) अभी पर्याप्त रूप से शामिल नहीं हैं
मौजूदा version वास्तव में सिर्फ़ 'discovery tool' है, कोई smart coach बिल्कुल नहीं
मुझे यह बात UI में साफ़-साफ़ बतानी चाहिए
आपके specific points के जवाब में
मैं पूरी तरह समझता हूँ कि कोई dumbbells/pull-up bar तो रखना चाहता हो, लेकिन cable/machine न इस्तेमाल करना चाहता हो; इस हिस्से का UI और स्पष्ट बनाऊँगा
(अभी 2 बार दोहराना पड़ता है, render issue की वजह से)
मैं इसे अच्छे principles के आधार पर बेहतर बनाना चाहता हूँ; अगर संभव हो तो direction तय करने में ideas के साथ मदद करें
अगर कोई ऐसा solution हो जिसे consumer hardware पर सीधे deploy और use किया जा सके, तो और भी दिलचस्पी होगी
उदाहरण के लिए, मेरे पास pull-up bar है, लेकिन मुझे नहीं पता कि उससे कौन-कौन से muscles train किए जा सकते हैं
इसके बजाय ‘beginner-friendly’ filter जैसा विकल्प कैसा रहेगा
दूसरों ने भी ऐसा ही feedback दिया है
मैं filter options को optional बनाने और 'beginner-friendly', 'popular exercises', 'calisthenics' जैसी recommendations जोड़ने वाला हूँ
बताने के लिए धन्यवाद
शुरुआती onboarding में muscle selection अनिवार्य है, लेकिन जो beginner यह नहीं जानता कि कौन-सी routine किन muscles को target करती है, उसके लिए यह एक barrier बन जाता है
“push”, “pull”, “legs” का थोड़ा-बहुत अंदाज़ा है, लेकिन specific muscle names अपरिचित लगते हैं
आखिरकार यह app ऐसा लगने लगता है जैसे यह सिर्फ़ उन्हीं लोगों के लिए है जो anatomy पढ़ना चाहते हैं
थोड़ा और आसान entry point कैसे बनाया जाए, इस पर सोचना होगा
उदाहरण: recommended muscle groups, presets
मौजूदा onboarding knowledge को बहुत ज़्यादा मानकर चलती है (और शायद जितना मैंने सोचा था उससे भी ज़्यादा)
beginners “rear delts” या “lats” नहीं चाहते, वे बस मज़बूत होना चाहते हैं और अच्छी body बनाना चाहते हैं
अगले update में
मेरा लक्ष्य ऐसा friendly experience बनाना है जिसमें anatomy सीखे बिना भी कोई तुरंत शुरू कर सके
तुम्हारा feedback सच में बहुत मददगार है
तुम्हारी fitness journey के लिए शुभकामनाएँ