- π Overview
- π¦ Features
- π Structure
- π» Installation
- ποΈ Usage
- π Hosting
- π License
- π Authors
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.
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. |
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
- Node.js (v18 or later)
- npm (or yarn)
- Clone the repository:
git clone https://github.com/coslynx/fitness-tracker-social-mvp.git
- Navigate to the project directory:
cd fitness-tracker-social-mvp
- Install dependencies:
npm install
- Start the development server:
npm run dev
- Open your browser and navigate to http://localhost:3000.
-
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.
- User Registration and Login:
- Visit the login page (http://localhost:3000/login).
- Create a new account or log in with an existing account.
- Setting Goals:
- Navigate to the dashboard (http://localhost:3000/dashboard).
- Click the "Add Goal" button and set your fitness 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.
- Sign up for a Vercel account.
- Initialize a new Vercel project using the Vercel CLI:
vercel init
- Select the Next.js framework.
- Deploy your application:
vercel deploy
- Sign up for a Netlify account.
- Initialize a new Netlify project using the Netlify CLI:
netlify init
- Select your Git provider and repository.
- Deploy your application:
netlify deploy
- Create a new repository on GitHub.
- Configure your repository to use GitHub Pages by navigating to "Settings" -> "Pages" and selecting the "main" branch.
- Build your application (using the
npm run build
command) and push the resulting build output (usually adist
folder) to thegh-pages
branch of your repository.
- Create an AWS account.
- Deploy your Next.js application using AWS services like AWS Elastic Beanstalk or AWS Lambda functions.
- Configure AWS S3 to host static files and CloudFront for content delivery.
- Create a Google Cloud account.
- Deploy your Next.js application using Google Cloud services like Google App Engine or Google Cloud Functions.
- Configure Google Cloud Storage to host static files and Google Cloud CDN for content delivery.
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.
This project is licensed under the MIT License - see the LICENSE file for details.
- Author Name - CosLynx.com
- Creator Name - CosLynxAI
Create Your Custom MVP in Minutes With CosLynxAI!