Fitness Admin
Upload a ZIP of exercise GIFs. The archive is streamed to a temp file, each GIF streams to Cloudinary, then the temp ZIP is deleted. Nothing is kept on disk except MongoDB URLs.
API
GET /api/v1?gender=male&category=arm
Chunk flow via API: init -> chunk -> complete
gender=male→ male + general exercisesgender=female→ female + general exercisescategory=general_exercise→ shared exercises only