Skip to content

Track fitness goals, log workouts, and share progress with friends... Created at https://coslynx.com

Notifications You must be signed in to change notification settings

coslynx/FitTrack-MVP-Community

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

25 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

FitTrack-MVP-Community

A community-driven fitness tracking platform designed for motivation and progress.

Developed with the software and tools below.

Framework: Next.js Frontend: React, TypeScript, HTML, CSS Backend: Node.js Database: PostgreSQL State Management: Zustand Styling: Tailwind CSS
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 "FitTrack-MVP-Community" that provides a community-driven platform for fitness enthusiasts to set goals, track progress, and connect with each other. The project leverages a robust technology stack including Next.js, React, TypeScript, Node.js, PostgreSQL, and Tailwind CSS.

πŸ“¦ Features

Feature Description
πŸ” Secure Authentication Secure user authentication and session management implemented using NextAuth.js with support for various providers (e.g., Google, Facebook, Email/Password).
🎯 Personalized Goal Setting Users can define their own fitness goals, setting targets and deadlines for motivation and progress tracking.
πŸ‹οΈ Detailed Workout Tracking Users can log their workouts, including activity type, duration, intensity, and calories burned, for comprehensive data analysis.
πŸ“ˆ Visual Progress Tracking Progress charts and visualizations provide users with a clear and intuitive understanding of their achievements and areas for improvement.
🀝 Community Engagement A social feed enables users to connect with like-minded individuals, share their progress, motivate each other, and join challenges.
πŸ—οΈ Modular Architecture The codebase follows a modular architecture, making it easy to maintain, extend, and scale the application as it grows.
πŸ§ͺ Comprehensive Testing Unit tests using Jest and React Testing Library ensure the reliability and robustness of the codebase.
🌐 Scalable Infrastructure The application is designed for scalability, utilizing a NoSQL database and serverless functions to handle increased user load and data volume.
πŸ“± Responsive Design The user interface adapts seamlessly to different screen sizes and devices, ensuring a consistent and optimal experience across all platforms.
πŸ”’ Data Privacy and Security Strict data privacy and security measures are implemented to protect user information, including data encryption, access controls, and secure API interactions.

πŸ“‚ Structure

FitTrack-MVP-Community
β”œβ”€β”€ components
β”‚   β”œβ”€β”€ Button.tsx
β”‚   β”œβ”€β”€ Header.tsx
β”‚   β”œβ”€β”€ Layout.tsx
β”‚   β”œβ”€β”€ GoalInput.tsx
β”‚   β”œβ”€β”€ ProgressChart.tsx
β”‚   └── SocialShareButton.tsx
β”œβ”€β”€ pages
β”‚   β”œβ”€β”€ api
β”‚   β”‚   β”œβ”€β”€ auth.ts
β”‚   β”‚   β”œβ”€β”€ goals.ts
β”‚   β”‚   └── progress.ts
β”‚   β”œβ”€β”€ _app.tsx
β”‚   β”œβ”€β”€ index.tsx
β”‚   β”œβ”€β”€ dashboard.tsx
β”‚   └── login.tsx
β”œβ”€β”€ styles
β”‚   └── global.css
β”œβ”€β”€ utils
β”‚   β”œβ”€β”€ helpers.ts
β”‚   β”œβ”€β”€ api.ts
β”‚   β”œβ”€β”€ auth.ts
β”‚   └── validation.ts
β”œβ”€β”€ config
β”‚   └── next-auth.config.ts
β”œβ”€β”€ middleware
β”‚   └── authentication.ts
β”œβ”€β”€ .env
└── package.json

πŸ’» Installation

πŸ”§ Prerequisites

  • Node.js
  • npm
  • Docker (Optional for deployment)

πŸš€ Setup Instructions

  1. Clone the repository:
    • git clone https://github.com/coslynx/FitTrack-MVP-Community.git
  2. Navigate to the project directory:
    • cd FitTrack-MVP-Community
  3. Install dependencies:
    • npm install
  4. Setup the database:
    • Create a PostgreSQL database and configure the environment variables in .env with the database credentials.
  5. (Optional) Build a Docker image for deployment:
    • docker build -t fittrack-mvp .

πŸ—οΈ Usage

πŸƒβ€β™‚οΈ Running the Development Server

  1. Start the development server:
    • npm run dev
  2. Open your browser and navigate to http://localhost:3000.

βš™οΈ Configuration

Adjust configuration settings in config/next-auth.config.ts or .env as needed.

πŸ“š Examples

  • πŸ“ Example 1: Sign up or log in as a new user to create a profile.
  • πŸ“ Example 2: Set a fitness goal, such as weight loss, distance running, or muscle gain.
  • πŸ“ Example 3: Log your daily workouts, including activity type, duration, and intensity.
  • πŸ“ Example 4: View progress charts to visualize your performance and track your progress towards your goals.
  • πŸ“ Example 5: Share your achievements and motivate others by joining the community feed and interacting with other users.

🌐 Hosting

πŸš€ Deployment Instructions

Vercel (Recommended)

  1. Log in to your Vercel account or create a new account.
  2. Import the project:
    • vercel import git https://github.com/coslynx/FitTrack-MVP-Community.git
  3. Configure the environment variables in Vercel's dashboard.
  4. Deploy the application:
    • Click the "Deploy" button in the Vercel dashboard.

Netlify

  1. Log in to your Netlify account or create a new account.
  2. Import the project:
    • Click on "New site from Git" in Netlify's dashboard.
  3. Connect your GitHub repository.
  4. Configure the environment variables in Netlify's dashboard.
  5. Deploy the application:
    • Click the "Deploy" button in Netlify's dashboard.

Heroku

  1. Install the Heroku CLI:
    • npm install -g heroku
  2. Log in to Heroku:
    • heroku login
  3. Create a new Heroku app:
    • heroku create
  4. Set up the PostgreSQL database on Heroku (refer to Heroku documentation for instructions).
  5. Configure environment variables (DB_HOST, DB_USER, DB_PASS) in Heroku's dashboard.
  6. Deploy the code:
    • git push heroku main

πŸ”‘ Environment Variables

  • DATABASE_URL: The URL for your PostgreSQL database (e.g., postgres://user:password@host:port/database_name).

πŸ“œ API Documentation

πŸ” Endpoints

  • GET /api/goals: Retrieves a list of user goals.
  • POST /api/goals: Creates a new user goal.
  • PUT /api/goals/:id: Updates an existing user goal.
  • DELETE /api/goals/:id: Deletes a user goal.
  • GET /api/workouts: Retrieves a list of user workouts.
  • POST /api/workouts: Logs a new workout.
  • GET /api/progress/:goalId: Retrieves progress data for a specific goal.

πŸ”’ Authentication

Use JWT tokens for authentication.

πŸ“ Examples

  • curl -X GET http://localhost:3000/api/goals

πŸ“œ License & Attribution

πŸ“„ License

This Minimum Viable Product (MVP) is licensed under the GNU AGPLv3 license.

πŸ€– AI-Generated MVP

This MVP was entirely generated using artificial intelligence through CosLynx.com. No human was directly involved in the coding process.

πŸ“ž Contact

For any questions or concerns regarding this AI-generated MVP, please contact CosLynx at:

🌐 CosLynx.com

Create Your Custom MVP in Minutes With CosLynxAI!