An open API service indexing awesome lists of open source software.

https://github.com/coslynx/fitness-tracker-goals-social

Set fitness goals, track progress, and share achievements with friends... Created at https://coslynx.com
https://github.com/coslynx/fitness-tracker-goals-social

api-integration code-generation community-driven developer-tools devops fitness-tracker goal-setting javascript machine-learning mvp nextjs postgresql progress-tracking react serverless social-sharing software-development supabase tailwindcss user-authentication

Last synced: 4 months ago
JSON representation

Set fitness goals, track progress, and share achievements with friends... Created at https://coslynx.com

Awesome Lists containing this project

README

        




Fitness Tracker


A web application that simplifies and enhances fitness goal management, built with Next.js, React, Tailwind CSS, and Supabase.


Developed with the software and tools below.



Framework: Next.js
Frontend: Javascript, Html, Css
Backend: Node.js
Database: PostgreSQL
LLMs: Custom, Gemini, OpenAI


git-last-commit
GitHub commit activity
GitHub top language

## ๐Ÿ“‘ Table of Contents
- ๐Ÿ“ Overview
- ๐Ÿ“ฆ Features
- ๐Ÿ“‚ Structure
- ๐Ÿ’ป Installation
- ๐Ÿ—๏ธ Usage
- ๐ŸŒ Hosting
- ๐Ÿ“„ License
- ๐Ÿ‘ Authors

## ๐Ÿ“ Overview
The repository contains a Minimum Viable Product (MVP) called "Fitness Tracker" that provides a comprehensive solution for fitness enthusiasts to set goals, track progress, and stay motivated. The application is built using a user-centric approach with a modern tech stack including Next.js, React, Tailwind CSS, and Supabase.

## ๐Ÿ“ฆ Features
| | Feature | Description |
|----|--------------------|--------------------------------------------------------------------------------------------------------------------|
| ๐Ÿ” | **User Authentication** | Secure user registration and login with email verification and password strength checks using NextAuth.js. Users can create personalized profiles. |
| ๐ŸŽฏ | **Goal Setting** | Allows users to set specific fitness goals with target dates, desired outcomes, and progress metrics. Supports a wide range of goal types. |
| ๐Ÿ“ˆ | **Progress Tracking** | Enables users to log workouts, track metrics, and visualize progress through interactive charts and graphs. Provides detailed workout summaries. |
| ๐Ÿค | **Social Sharing** | Facilitates connections with friends, sharing achievements, and motivating each other. Provides a community forum for encouragement and support. |
| ๐Ÿ’ป | **Responsive Design** | Optimizes the user interface for various screen sizes, ensuring a smooth and engaging experience across devices. |
| โš™๏ธ | **Architecture** | The codebase follows a modular architectural pattern with separate directories for different functionalities, ensuring easier maintenance and scalability. |
| ๐Ÿ“„ | **Documentation** | The repository includes a README file that provides a detailed overview of the Minimum Viable Product (MVP), its dependencies, and usage instructions.|
| ๐Ÿ”— | **Dependencies** | The codebase relies on various external libraries and packages such as React, uuid, esbuild, and eslint, which are essential for building and styling the UI components, and handling external services.|
| ๐Ÿงฉ | **Modularity** | The modular structure allows for easier maintenance and reusability of the code, with separate directories and files for different functionalities such as background, components, and content.|
| ๐Ÿงช | **Testing** | Implement unit tests using frameworks like Jest or React Testing Library to ensure the reliability and robustness of the codebase. |
| โšก๏ธ | **Performance** | The performance of the system can be optimized based on factors such as the browser and hardware being used. Consider implementing performance optimizations for better efficiency.|
| ๐Ÿ” | **Security** | Enhance security by implementing measures such as input validation, data encryption, and secure communication protocols.|
| ๐Ÿ”€ | **Version Control**| Utilizes Git for version control with GitHub Actions workflow files for automated build and release processes.|
| ๐Ÿ”Œ | **Integrations** | Interacts with browser APIs, external services through HTTP requests, and includes integrations with speech recognition and synthesis APIs.|
| ๐Ÿ“ถ | **Scalability** | Design the system to handle increased user load and data volume, utilizing caching strategies and cloud-based solutions for better scalability. |

## ๐Ÿ“‚ Structure
```text
Fitness-Tracker
โ”œโ”€โ”€ public
โ”‚ โ””โ”€โ”€ favicon.ico
โ””โ”€โ”€ src
โ”œโ”€โ”€ app
โ”‚ โ”œโ”€โ”€ layout.tsx
โ”‚ โ”œโ”€โ”€ page.tsx
โ”‚ โ”œโ”€โ”€ goals
โ”‚ โ”‚ โ””โ”€โ”€ page.tsx
โ”‚ โ””โ”€โ”€ progress
โ”‚ โ””โ”€โ”€ page.tsx
โ”œโ”€โ”€ components
โ”‚ โ”œโ”€โ”€ common
โ”‚ โ”‚ โ””โ”€โ”€ Button.tsx
โ”‚ โ”œโ”€โ”€ layout
โ”‚ โ”‚ โ”œโ”€โ”€ Header.tsx
โ”‚ โ”‚ โ””โ”€โ”€ Footer.tsx
โ”‚ โ””โ”€โ”€ features
โ”‚ โ”œโ”€โ”€ goals
โ”‚ โ”‚ โ”œโ”€โ”€ GoalForm.tsx
โ”‚ โ”‚ โ”œโ”€โ”€ GoalList.tsx
โ”‚ โ”‚ โ””โ”€โ”€ GoalItem.tsx
โ”‚ โ””โ”€โ”€ progress
โ”‚ โ”œโ”€โ”€ ProgressChart.tsx
โ”‚ โ””โ”€โ”€ WorkoutForm.tsx
โ”œโ”€โ”€ lib
โ”‚ โ”œโ”€โ”€ api
โ”‚ โ”‚ โ””โ”€โ”€ client.ts
โ”‚ โ””โ”€โ”€ utils
โ”‚ โ””โ”€โ”€ formatters.ts
โ””โ”€โ”€ styles
โ””โ”€โ”€ globals.css

```

## ๐Ÿ’ป Installation
### ๐Ÿ”ง Prerequisites
- Node.js v16+
- npm 6+
- PostgreSQL 14+
- Supabase Account (free tier is sufficient)

### ๐Ÿš€ Setup Instructions
1. Clone the repository:
```bash
git clone https://github.com/coslynx/Fitness-Tracker.git
cd Fitness-Tracker
```
2. Install dependencies:
```bash
npm install
```
3. Set up the database:
- Create a new Supabase project and get your `SUPABASE_URL` and `SUPABASE_KEY`.
- Create the following tables in your Supabase database:
- **users**:
- `id` (unique identifier)
- `email` (unique)
- `password` (hashed)
- `name` (optional)
- **goals**:
- `id` (unique identifier)
- `name`
- `target` (e.g., target weight, distance, etc.)
- `targetDate`
- `outcome` (description of the desired outcome)
- `userId` (foreign key to users table)
- **workouts**:
- `id` (unique identifier)
- `activity` (e.g., running, cycling, etc.)
- `duration` (in minutes)
- `metrics` (e.g., distance covered, calories burned, etc.)
- `date`
- `userId` (foreign key to users table)
- Configure the database connection in `.env.local`:
```
NEXT_PUBLIC_SUPABASE_URL=https://your-project-id.supabase.co
SUPABASE_KEY=your_supabase_api_key
```
4. Configure environment variables:
```bash
cp .env.example .env
```
- Replace the placeholder values in `.env` with your actual Supabase credentials.

## ๐Ÿ—๏ธ Usage
### ๐Ÿƒโ€โ™‚๏ธ Running the MVP
1. Start the development server:
```bash
npm run dev
```
2. Access the application:
- Web interface: [http://localhost:3000](http://localhost:3000)

## ๐ŸŒ Hosting
### ๐Ÿš€ Deployment Instructions
#### Deploying to Vercel
1. Create a Vercel account and install the Vercel CLI:
```bash
npm install -g vercel
```
2. Login to Vercel:
```bash
vercel login
```
3. Initialize Vercel:
```bash
vercel init Fitness-Tracker
```
4. Select the project directory and follow the prompts.
5. Deploy the code:
```bash
vercel
```
- Follow the instructions to configure your Supabase database connection and other necessary environment variables on Vercel.
6. Once the deployment is complete, you can access your live application through the URL provided by Vercel.

### ๐Ÿ”‘ Environment Variables
- `NEXT_PUBLIC_SUPABASE_URL`: Public Supabase URL for frontend access.
- `SUPABASE_KEY`: Private Supabase API key for backend access.
- `NEXTAUTH_URL`: Public URL for NextAuth.js authentication (set to the domain where your application is hosted).
- `NEXTAUTH_SECRET`: Secret key for NextAuth.js authentication (generate a random string).
- `GOOGLE_CLIENT_ID`: Google Client ID for OAuth authentication (create a Google Cloud Project and enable Google Sign-in).
- `GOOGLE_CLIENT_SECRET`: Google Client Secret for OAuth authentication.

## ๐Ÿ“œ License & Attribution

### ๐Ÿ“„ License
This Minimum Viable Product (MVP) is licensed under the [GNU AGPLv3](https://choosealicense.com/licenses/agpl-3.0/) license.

### ๐Ÿค– AI-Generated MVP
This MVP was entirely generated using artificial intelligence through [CosLynx.com](https://coslynx.com).

No human was directly involved in the coding process of the repository: Fitness-Tracker

### ๐Ÿ“ž Contact
For any questions or concerns regarding this AI-generated MVP, please contact CosLynx at:
- Website: [CosLynx.com](https://coslynx.com)
- Twitter: [@CosLynxAI](https://x.com/CosLynxAI)


๐ŸŒ CosLynx.com


Create Your Custom MVP in Minutes With CosLynxAI!