{"id":18903526,"url":"https://github.com/coslynx/fitness-tracker-social-react-node","last_synced_at":"2026-04-10T14:39:48.161Z","repository":{"id":261742247,"uuid":"885199311","full_name":"coslynx/Fitness-Tracker-Social-React-Node","owner":"coslynx","description":"Set fitness goals, track progress, achieve targets, and share your journey with friends... Created at https://coslynx.com","archived":false,"fork":false,"pushed_at":"2024-11-08T06:34:29.000Z","size":33,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-31T10:14:55.424Z","etag":null,"topics":["api-development","code-generation","coslynx","developer-tools","devops","express","fitness-app","fitness-tracker","goal-tracking","javascript","machine-learning","mvp","nodejs","postgresql","react","react-app","social-fitness","supabase","workout-tracker"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coslynx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-08T06:26:47.000Z","updated_at":"2024-11-08T06:34:32.000Z","dependencies_parsed_at":"2024-11-08T07:29:14.895Z","dependency_job_id":"708dc68a-772f-4c1b-9a49-041b85046cbb","html_url":"https://github.com/coslynx/Fitness-Tracker-Social-React-Node","commit_stats":null,"previous_names":["coslynx/fitness-tracker-social-react-node"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coslynx%2FFitness-Tracker-Social-React-Node","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coslynx%2FFitness-Tracker-Social-React-Node/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coslynx%2FFitness-Tracker-Social-React-Node/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coslynx%2FFitness-Tracker-Social-React-Node/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coslynx","download_url":"https://codeload.github.com/coslynx/Fitness-Tracker-Social-React-Node/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239888232,"owners_count":19713690,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-development","code-generation","coslynx","developer-tools","devops","express","fitness-app","fitness-tracker","goal-tracking","javascript","machine-learning","mvp","nodejs","postgresql","react","react-app","social-fitness","supabase","workout-tracker"],"created_at":"2024-11-08T09:05:27.355Z","updated_at":"2025-12-30T19:59:19.594Z","avatar_url":"https://github.com/coslynx.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv class=\"hero-icon\" align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/PKief/vscode-material-icon-theme/ec559a9f6bfd399b82bb44393651661b08aaf7ba/icons/folder-markdown-open.svg\" width=\"100\" /\u003e\n\u003c/div\u003e\n\n\u003ch1 align=\"center\"\u003e\nFitness Tracker MVP\n\u003c/h1\u003e\n\u003ch4 align=\"center\"\u003eA user-friendly web application to track fitness goals and connect with friends.\u003c/h4\u003e\n\u003ch4 align=\"center\"\u003eDeveloped with the software and tools below.\u003c/h4\u003e\n\u003cdiv class=\"badges\" align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Framework-React-blue\" alt=\"Framework: React\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Frontend-Javascript,_Html,_Css-red\" alt=\"Frontend: Javascript, HTML, CSS\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Backend-Node.js-blue\" alt=\"Backend: Node.js\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/LLMs-Custom,_Gemini,_OpenAI-black\" alt=\"LLMs: Custom, Gemini, OpenAI\"\u003e\n\u003c/div\u003e\n\u003cdiv class=\"badges\" align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/last-commit/coslynx/Fitness-Tracker-MVP?style=flat-square\u0026color=5D6D7E\" alt=\"git-last-commit\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/commit-activity/m/coslynx/Fitness-Tracker-MVP?style=flat-square\u0026color=5D6D7E\" alt=\"GitHub commit activity\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/languages/top/coslynx/Fitness-Tracker-MVP?style=flat-square\u0026color=5D6D7E\" alt=\"GitHub top language\" /\u003e\n\u003c/div\u003e\n\n## 📑 Table of Contents\n- 📍 Overview\n- 📦 Features\n- 📂 Structure\n- 💻 Installation\n- 🏗️ Usage\n- 🌐 Hosting\n- 📄 License\n- 👏 Authors\n\n## 📍 Overview\n\nThis repository houses the Minimum Viable Product (MVP) for a Fitness Tracker web application. It provides a foundation for fitness enthusiasts to track their progress towards their goals, stay motivated, and share their achievements with friends. The MVP is built using a robust and scalable architecture with React on the frontend and Node.js on the backend, complemented by a custom LLM for personalized features.\n\n## 📦 Features\n\n|    | Feature            | Description                                                                                                        |\n|----|--------------------|--------------------------------------------------------------------------------------------------------------------|\n| 🔒 | **Secure Authentication** |  Users can create accounts and securely log in, ensuring data privacy and personalized experiences.  |\n| 🎯 | **Goal Setting** | Users can define personalized fitness goals, set target values, and track their progress.  |\n| 📊 | **Progress Tracking** | Users can log workouts, activities, and nutrition, enabling detailed progress monitoring and analysis. |\n| 🤝 | **Social Sharing** | Users can connect with friends, share their achievements, and offer support, creating a motivating community. |\n| 📱 | **Responsive Design** | The application adapts seamlessly to various devices, providing a consistent user experience across desktops, tablets, and mobile phones. |\n| ⚡️ | **Performance** | Optimized for fast loading times and smooth user interaction, ensuring a seamless user experience.  |\n| 🔄 | **Scalability** | Designed to handle a growing user base and accommodate future feature additions.  |\n| 🌐 | **Accessibility** |  Responsive design for seamless use on various devices.  |\n| 🧪 | **Testing** | Extensive unit and integration tests ensure code quality and robustness.  |\n\n## 📂 Structure\n\n```text\nfitness-tracker-mvp/\n├── apps/\n│   └── client/\n│       └── src/\n│           └── ...\n├── packages/\n│   └── auth/\n│       └── src/\n│           └── ...\n├── packages/\n│   └── database/\n│       └── src/\n│           └── ...\n└── ...\n```\n\n## 💻 Installation\n\n### 🔧 Prerequisites\n\n- Node.js v18+\n- npm 8+\n- PostgreSQL 15+ \n\n### 🚀 Setup Instructions\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/coslynx/Fitness-Tracker-MVP.git\n   cd Fitness-Tracker-MVP\n   ```\n2. Install dependencies:\n   ```bash\n   npm install\n   ```\n3. Set up the database:\n   ```bash\n   [Provide specific commands for database setup, e.g., migrations]\n   ```\n4. Configure environment variables:\n   ```bash\n   cp .env.example .env\n   [Instruct to fill in necessary environment variables]\n   ```\n\n## 🏗️ Usage\n\n### 🏃‍♂️ Running the MVP\n\n1. Start the development server:\n   ```bash\n   npm run dev\n   ```\n2. [Provide any additional steps needed to fully run the MVP, e.g., starting a database, running a separate API server, etc.]\n\n3. Access the application:\n   - Web interface: [http://localhost:3000](http://localhost:3000)\n   - API endpoint: [http://localhost:3000/api](http://localhost:3000/api)\n\n### ⚙️ Configuration\n\n- **`.env`:**  Contains environment variables for development, testing, and production.\n  - `NEXT_PUBLIC_API_URL`: Public API URL for frontend communication.\n  - `DATABASE_URL`: Connection string for the PostgreSQL database.\n  - `JWT_SECRET`: Secret key for JWT token signing.\n\n## 🌐 Hosting\n\n### 🚀 Deployment Instructions\n\n**Deploying to Heroku**\n\n1. Install the Heroku CLI:\n   ```bash\n   npm install -g heroku\n   ```\n2. Login to Heroku:\n   ```bash\n   heroku login\n   ```\n3. Create a new Heroku app:\n   ```bash\n   heroku create fitness-tracker-mvp-production\n   ```\n4. Set up environment variables:\n   ```bash\n   heroku config:set NODE_ENV=production\n   heroku config:set DATABASE_URL=your_database_url_here\n   [Add any other necessary environment variables]\n   ```\n5. Deploy the code:\n   ```bash\n   git push heroku main\n   ```\n6. Run database migrations (if applicable):\n   ```bash\n   heroku run npm run migrate\n   ```\n\n### 🔑 Environment Variables\n\n- `DATABASE_URL`: Connection string for the PostgreSQL database\n  Example: `postgresql://user:password@host:port/database`\n- `JWT_SECRET`: Secret key for JWT token generation\n  Example: `your-256-bit-secret`\n- `API_KEY`: Key for external API integration (if applicable)\n  Example: `abcdef123456`\n\n## 📜 API Documentation\n\n### 🔍 Endpoints\n\n- **POST /api/auth/register**\n  - Description: Register a new user\n  - Body: `{ \"email\": string, \"password\": string }`\n  - Response: `{ \"id\": string, \"email\": string, \"token\": string }`\n\n- **POST /api/auth/login**\n  - Description: Authenticate a user\n  - Body: `{ \"email\": string, \"password\": string }`\n  - Response: `{ \"token\": string }`\n\n- **GET /api/auth/user**\n  - Description: Retrieve user data\n  - Headers: `Authorization: Bearer TOKEN`\n  - Response: `{ \"id\": string, \"email\": string }`\n\n- **POST /api/goals**\n  - Description: Create a new fitness goal\n  - Headers: `Authorization: Bearer TOKEN`\n  - Body: `{ \"description\": string, \"targetValue\": string, \"deadline\": Date }`\n  - Response: `{ \"id\": string, \"description\": string, \"targetValue\": string, \"deadline\": Date }`\n\n- **GET /api/goals**\n  - Description: Retrieve all goals for a user\n  - Headers: `Authorization: Bearer TOKEN`\n  - Response: `[{ \"id\": string, \"description\": string, \"targetValue\": string, \"deadline\": Date }]`\n\n- **POST /api/workouts**\n  - Description: Log a new workout\n  - Headers: `Authorization: Bearer TOKEN`\n  - Body: `{ \"date\": Date, \"duration\": string, \"activity\": string, \"intensity\": string, \"notes\": string }`\n  - Response: `{ \"id\": string, \"date\": Date, \"duration\": string, \"activity\": string, \"intensity\": string, \"notes\": string }`\n\n- **GET /api/workouts**\n  - Description: Retrieve all workouts for a user\n  - Headers: `Authorization: Bearer TOKEN`\n  - Response: `[{ \"id\": string, \"date\": Date, \"duration\": string, \"activity\": string, \"intensity\": string, \"notes\": string }]`\n\n### 🔒 Authentication\n\n1. Users must register a new account or log in to receive a JWT token. \n2. Include the token in the Authorization header for all protected routes:\n   ```\n   Authorization: Bearer YOUR_JWT_TOKEN\n   ```\n\n### 📝 Examples\n\n```bash\n# Register a new user\ncurl -X POST http://localhost:3000/api/auth/register \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"email\": \"user@example.com\", \"password\": \"securepass123\"}'\n\n# Response\n{\n  \"id\": \"user123\",\n  \"email\": \"user@example.com\",\n  \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\"\n}\n\n# Login\ncurl -X POST http://localhost:3000/api/auth/login \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"email\": \"user@example.com\", \"password\": \"securepass123\"}'\n\n# Response\n{\n  \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\"\n}\n\n# Retrieve user data\ncurl -X GET http://localhost:3000/api/auth/user \\\n  -H \"Authorization: Bearer YOUR_JWT_TOKEN\"\n\n# Response\n{\n  \"id\": \"user123\",\n  \"email\": \"user@example.com\"\n}\n\n# Create a new goal\ncurl -X POST http://localhost:3000/api/goals \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_JWT_TOKEN\" \\\n  -d '{\"description\": \"Lose 5 pounds\", \"targetValue\": \"5\", \"deadline\": \"2024-01-01\"}'\n\n# Response\n{\n  \"id\": \"goal123\",\n  \"description\": \"Lose 5 pounds\",\n  \"targetValue\": \"5\",\n  \"deadline\": \"2024-01-01\"\n}\n\n# Log a new workout\ncurl -X POST http://localhost:3000/api/workouts \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_JWT_TOKEN\" \\\n  -d '{\"date\": \"2023-12-15\", \"duration\": \"30\", \"activity\": \"Cardio\", \"intensity\": \"Medium\", \"notes\": \"Ran 3 miles\"}'\n\n# Response\n{\n  \"id\": \"workout123\",\n  \"date\": \"2023-12-15\",\n  \"duration\": \"30\",\n  \"activity\": \"Cardio\",\n  \"intensity\": \"Medium\",\n  \"notes\": \"Ran 3 miles\"\n}\n```\n\n## 📜 License \u0026 Attribution\n\n### 📄 License\n\nThis Minimum Viable Product (MVP) is licensed under the [GNU AGPLv3](https://choosealicense.com/licenses/agpl-3.0/) license.\n\n### 🤖 AI-Generated MVP\n\nThis MVP was entirely generated using artificial intelligence through [CosLynx.com](https://coslynx.com).\n\nNo human was directly involved in the coding process of the repository: Fitness Tracker MVP.\n\n### 📞 Contact\n\nFor any questions or concerns regarding this AI-generated MVP, please contact CosLynx at:\n- Website: [CosLynx.com](https://coslynx.com)\n- Twitter: [@CosLynxAI](https://x.com/CosLynxAI)\n\n\u003cp align=\"center\"\u003e\n  \u003ch1 align=\"center\"\u003e🌐 CosLynx.com\u003c/h1\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cem\u003eCreate Your Custom MVP in Minutes With CosLynxAI!\u003c/em\u003e\n\u003c/p\u003e\n\u003cdiv class=\"badges\" align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Developers-Drix10,_Kais_Radwan-red\" alt=\"\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Website-CosLynx.com-blue\" alt=\"\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Backed_by-Google,_Microsoft_\u0026_Amazon_for_Startups-red\" alt=\"\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Finalist-Backdrop_Build_v4,_v6-black\" alt=\"\"\u003e\n\u003c/div\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoslynx%2Ffitness-tracker-social-react-node","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoslynx%2Ffitness-tracker-social-react-node","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoslynx%2Ffitness-tracker-social-react-node/lists"}