Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/coslynx/it-rack-itness-oal-racking-pp
Project: Track fitness goals, log workouts, and share achievements with friends.. Created at https://coslynx.com
https://github.com/coslynx/it-rack-itness-oal-racking-pp
api-integration code-generation community-building developer-tools devops fitness-tracking goal-setting javascript machine-learning mvp mvp-development nextjs postgresql progress-sharing react serverless social-fitness software-development supabase workout-logging
Last synced: about 2 months ago
JSON representation
Project: Track fitness goals, log workouts, and share achievements with friends.. Created at https://coslynx.com
- Host: GitHub
- URL: https://github.com/coslynx/it-rack-itness-oal-racking-pp
- Owner: coslynx
- Created: 2024-09-07T03:26:18.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-09-07T03:31:38.000Z (5 months ago)
- Last Synced: 2024-11-10T04:08:50.175Z (3 months ago)
- Topics: api-integration, code-generation, community-building, developer-tools, devops, fitness-tracking, goal-setting, javascript, machine-learning, mvp, mvp-development, nextjs, postgresql, progress-sharing, react, serverless, social-fitness, software-development, supabase, workout-logging
- Language: TypeScript
- Size: 30.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
FitTrack - Fitness Goal Tracking and SharingA web application to simplify fitness goal tracking and achievement sharing.
Developed with the software and tools below.
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
## 📑 Table of Contents
- 📍 Overview
- 📦 Features
- 📂 Structure
- 💻 Installation
- 🏗️ Usage
- 🌐 Hosting
- 📄 License
- 👏 Authors## 📍 Overview
This repository contains the code for a Minimum Viable Product (MVP) of FitTrack, a web application aimed at simplifying fitness goal tracking and achievement sharing. It leverages the power of a modern tech stack: Next.js for frontend development, Node.js for backend functionality, and a PostgreSQL database for data storage. FitTrack offers a user-friendly interface and social features that encourage motivation and community engagement.## 📦 Features
| | Feature | Description |
|----|--------------------|--------------------------------------------------------------------------------------------------------------------|
| 🔐 | **User Authentication** | Secure user registration and login using email/password or Google Sign-in. |
| 🎯 | **Goal Setting** | Define personalized fitness goals with specific parameters, such as target weight, workout frequency, or distance. |
| 📈 | **Progress Tracking** | Track workouts, nutrition, and overall progress towards goals, with detailed visualizations. |
| 🤝 | **Social Sharing** | Share achievements, progress updates, and motivational messages with friends within the app. |## 📂 Structure
```text
FitTrack-MVP
├── app
│ ├── layout
│ │ └── page.js
│ └── page
│ └── index.js
├── components
│ ├── Header.jsx
│ ├── GoalInput.jsx
│ ├── ProgressChart.jsx
│ ├── SocialShareButton.jsx
│ └── Button.jsx
├── lib
│ ├── auth.ts
│ └── api.ts
├── pages
│ ├── api
│ │ ├── auth.ts
│ │ ├── goals.ts
│ │ └── progress.ts
│ ├── _app.tsx
│ ├── index.tsx
│ ├── dashboard.tsx
│ └── login.tsx
├── styles
│ └── global.css
├── config
│ └── next-auth.config.ts
├── middleware
│ └── authentication.ts
├── .env
├── package.json
├── README.md
├── tailwind.config.ts
└── tsconfig.json
```## 💻 Installation
### 🔧 Prerequisites
- Node.js (LTS version recommended)
- npm (or yarn)
- A free Supabase account (for database)### 🚀 Setup Instructions
1. Clone the repository:
- `git clone https://github.com/coslynx/FitTrack-MVP.git`
2. Navigate to the FitTrack-MVP directory:
- `cd FitTrack-MVP`
3. Install dependencies:
- `npm install`
4. Create a `.env` file in the root directory of the project and add the following environment variables:
- `NEXT_PUBLIC_SUPABASE_URL`: Your Supabase URL (found in the Supabase dashboard)
- `NEXT_PUBLIC_SUPABASE_KEY`: Your Supabase API key (found in the Supabase dashboard)
- `NEXT_PUBLIC_GOOGLE_CLIENT_ID`: Your Google Client ID for authentication
- `NEXT_PUBLIC_GOOGLE_CLIENT_SECRET`: Your Google Client Secret for authentication## 🏗️ Usage
### 🏃♂️ Running the FitTrack MVP
1. Start the development server:
- `npm run dev`
2. Open your browser and navigate to `http://localhost:3000`.### ⚙️ Configuration
- Adjust configurations in `next.config.js` for deployment settings and optimization.
- Update the `next-auth.config.ts` file for authentication providers.### 📚 Examples
- **Setting a goal:**
- Log in to your account.
- Navigate to the "Goals" section.
- Enter the desired goal (e.g., "Lose 5 pounds") and specify any relevant parameters (e.g., timeframe, target weight).
- Click "Add Goal".
- **Tracking progress:**
- Log in to your account.
- Navigate to the "Dashboard" section.
- Record workouts and nutrition entries for each day.
- Visualize progress charts for different metrics.
- **Sharing achievements:**
- Log in to your account.
- Create a post celebrating your achievements.
- Share the post with friends who are connected on the platform.## 🌐 Hosting
### 🚀 Deployment Instructions
1. **Set up a Supabase database:**
- Create a new Supabase project.
- Create tables to store user data, goals, progress, and social interaction data.
- Set up authentication with Supabase to enable secure user registration and login.
2. **Configure environment variables:**
- Create a `.env` file in the root directory of the project.
- Replace the placeholders in the `.env` file with your Supabase URL, API key, and Google authentication credentials.
3. **Deploy the application:**
- Use Vercel to deploy the application:
- `vercel`
- Use Netlify:
- `netlify deploy`
- Use GitHub Pages:
- Configure a GitHub Actions workflow for automatic deployment.## 📜 API Documentation
### 🔍 Endpoints
- **GET /api/auth/session**: Fetches the current user session information.
- **POST /api/goals**: Creates a new fitness goal for the current user.
- **GET /api/goals**: Retrieves all goals for the current user.
- **PUT /api/goals/:id**: Updates an existing goal.
- **DELETE /api/goals/:id**: Deletes a goal.
- **POST /api/progress**: Logs workout or nutrition data for the current user.
- **GET /api/progress**: Retrieves the user's progress data.
- **POST /api/social/posts**: Creates a new social post.
- **GET /api/social/posts**: Retrieves social posts.### 🔒 Authentication
Use JWT tokens for authentication with NextAuth.js.### 📝 Examples
- **Fetching goals:**
```bash
curl -X GET http://localhost:3000/api/goals -H "Authorization: Bearer [JWT token]"
```## 📜 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.## 👥 Authors
- **Author Name** - [CosLynx.com](https://coslynx.com)
- **Creator Name** - [CosLynxAI](https://github.com/coslynx)
🌐 CosLynx.com
Create Your Custom MVP in Minutes With CosLynxAI!
![]()
![]()
![]()
![]()