Skip to content

Project: Track your fitness progress online with a simple goal-setting and tracking tool. Created at https://coslynx.com

Notifications You must be signed in to change notification settings

coslynx/fitness-tracker-social-mvp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

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

Repository files navigation

fitness-tracker-social-mvp

A social fitness tracker web app for setting goals, tracking progress, and connecting with others.

Developed with the software and tools below.

Framework used: Next.js Frontend technologies: TypeScript, HTML, CSS Backend technology: 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

This repository houses the Minimum Viable Product (MVP) for a social fitness tracker web application. It utilizes a combination of frontend technologies (React, TypeScript, HTML, CSS, Tailwind CSS) and backend components (Node.js, Express) to deliver a user-friendly platform for setting fitness goals, monitoring progress, and connecting with others. The application also integrates with third-party APIs for authentication and data synchronization, enhancing its functionality and user experience.

πŸ“¦ Features

Feature Description
πŸ”‘ User Authentication Securely onboard users with email/password logins or social media integration (e.g., Google, Facebook). Users can create profiles, manage their information, and update their privacy settings.
🎯 Goal Setting Users can set specific fitness goals (e.g., weight loss, muscle gain, distance targets, activity frequency). Goals are categorized and include target values, deadlines, and optional descriptions.
πŸ“Š Progress Tracking Allows users to record workouts, track calories, and monitor progress towards their goals. It displays data visually through charts, graphs, and summaries.
🀝 Social Sharing Users can connect with friends, follow other fitness enthusiasts, share progress updates, and engage in group challenges.

πŸ“‚ Structure

fitness-tracker-social-mvp
β”œβ”€β”€ 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
β”œβ”€β”€ README.md
β”œβ”€β”€ tailwind.config.ts
└── tsconfig.json

πŸ’» Installation

πŸ”§ Prerequisites

  • Node.js (v18 or later)
  • npm (or yarn)

πŸš€ Setup Instructions

  1. Clone the repository:
    • git clone https://github.com/coslynx/fitness-tracker-social-mvp.git
  2. Navigate to the project directory:
    • cd fitness-tracker-social-mvp
  3. Install dependencies:
    • npm install

πŸ—οΈ Usage

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

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

βš™οΈ Configuration

  • Environment Variables: Create a .env.local file in the root directory and set the following environment variables:

    • NEXT_PUBLIC_API_URL: The URL of your backend API.
    • NEXT_PUBLIC_GOOGLE_CLIENT_ID: Your Google Client ID for social login.
    • NEXT_PUBLIC_GOOGLE_CLIENT_SECRET: Your Google Client Secret for social login.
    • DATABASE_URL: The URL of your PostgreSQL database.
  • Database Setup: Set up a PostgreSQL database and configure the connection details in the .env.local file.

  • Authentication: Configure NextAuth.js in config/next-auth.config.ts to enable authentication.

πŸ“š Examples

  • User Registration and Login:
  • Setting Goals:
  • Tracking Progress:
    • On the dashboard, record your workouts and track your progress towards your goals.
    • View your progress visually using the charts and graphs.
  • Social Features:
    • Connect with friends, follow other users, and engage in group challenges.
    • Share your progress updates and interact with the community.

🌐 Hosting

πŸš€ Deployment Instructions

Vercel

  1. Sign up for a Vercel account.
  2. Initialize a new Vercel project using the Vercel CLI:
    • vercel init
  3. Select the Next.js framework.
  4. Deploy your application:
    • vercel deploy

Netlify

  1. Sign up for a Netlify account.
  2. Initialize a new Netlify project using the Netlify CLI:
    • netlify init
  3. Select your Git provider and repository.
  4. Deploy your application:
    • netlify deploy

GitHub Pages

  1. Create a new repository on GitHub.
  2. Configure your repository to use GitHub Pages by navigating to "Settings" -> "Pages" and selecting the "main" branch.
  3. Build your application (using the npm run build command) and push the resulting build output (usually a dist folder) to the gh-pages branch of your repository.

AWS

  1. Create an AWS account.
  2. Deploy your Next.js application using AWS services like AWS Elastic Beanstalk or AWS Lambda functions.
  3. Configure AWS S3 to host static files and CloudFront for content delivery.

Google Cloud

  1. Create a Google Cloud account.
  2. Deploy your Next.js application using Google Cloud services like Google App Engine or Google Cloud Functions.
  3. Configure Google Cloud Storage to host static files and Google Cloud CDN for content delivery.

πŸ”‘ Environment Variables

  • NEXT_PUBLIC_API_URL: The URL of your backend API.
  • NEXT_PUBLIC_GOOGLE_CLIENT_ID: Your Google Client ID for social login.
  • NEXT_PUBLIC_GOOGLE_CLIENT_SECRET: Your Google Client Secret for social login.
  • DATABASE_URL: The URL of your PostgreSQL database.

πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘₯ Authors

🌐 CosLynx.com

Create Your Custom MVP in Minutes With CosLynxAI!