- π Overview
- π¦ Features
- π Structure
- π» Installation
- ποΈ Usage
- π Hosting
- π License
- π Authors
This repository contains a Minimum Viable Product (MVP) called "FitTrack-MVP" that offers a streamlined and motivating experience to empower users to achieve their fitness aspirations. It provides a user-centric platform that combines personalized goal setting, detailed progress monitoring, and a thriving social community. Built on a secure and robust technical foundation, FitTrack-MVP differentiates itself through a user-friendly interface, personalized goal setting, detailed progress tracking, and social engagement features.
Feature | Description | |
---|---|---|
π | Authentication | Users can register and login securely through an email-based authentication system. |
π― | Goal Setting | Users can set personalized fitness goals tailored to their individual needs and preferences. |
π | Progress Tracking | Users can log their workouts, activities, and nutritional intake, and track their progress towards their goals. |
π₯ | Social Engagement | Users can share their progress, motivate one another, and connect with like-minded individuals. |
π» | Technology Stack | FitTrack-MVP is built on a robust technology stack, including React, Next.js, TypeScript, PostgreSQL, and other essential libraries. |
FitTrack-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
- Node.js
- npm
- Docker
- Clone the repository:
git clone https://github.com/coslynx/FitTrack-MVP.git
- Navigate to the project directory:
cd FitTrack-MVP
- Install dependencies:
npm install
- Start the development server:
npm run dev
- Open your browser and navigate to http://localhost:3000.
Adjust configuration settings in .env
and next-auth.config.ts
.
- Register & Login: Users can register and log in using their email addresses and passwords.
- Set Goals: Users can define personalized fitness goals, including targets and deadlines.
- Track Progress: Users can log their workouts and activities, with the app automatically calculating their progress toward their goals.
- Engage Socially: Users can share their fitness achievements, motivate others, and connect with like-minded individuals through the social feed.
- Install the Vercel CLI:
npm install -g vercel
- Log in to Vercel:
vercel login
- Initialize Vercel in your project directory:
vercel init
- Deploy your application:
vercel deploy
- Install the Netlify CLI:
npm install -g netlify-cli
- Log in to Netlify:
netlify login
- Initialize Netlify in your project directory:
netlify init
- Deploy your application:
netlify deploy
- Update your project's settings on GitHub to enable GitHub Pages.
- Configure the build settings and deploy directory (usually
out
) on GitHub. - Push your code to the
gh-pages
branch.
- Create an AWS account and set up an S3 bucket for hosting your static website.
- Configure AWS CloudFront for content distribution.
- Use a CI/CD pipeline to automate deployment to AWS.
- Create a Google Cloud account and set up a Cloud Storage bucket for hosting.
- Configure Google Cloud CDN for content distribution.
- Use a CI/CD pipeline to automate deployment to Google Cloud.
- NEXT_PUBLIC_API_URL: Your API URL (e.g.,
http://localhost:3000
) - NEXTAUTH_URL: Your application's URL (e.g.,
http://localhost:3000
) - NEXTAUTH_SECRET: A random secret key for signing tokens (generate using
openssl rand -base64 32
) - DATABASE_URL: Your PostgreSQL database connection string (e.g.,
postgresql://user:password@host:port/database
)
- POST /api/auth/register: Register a new user.
- POST /api/auth/login: Log in an existing user.
- POST /api/auth/logout: Log out the current user.
- POST /api/goals: Create a new fitness goal.
- GET /api/goals: Retrieve a list of user goals.
- PUT /api/goals/:id: Update a specific goal.
- DELETE /api/goals/:id: Delete a specific goal.
- POST /api/workouts: Log a new workout.
- GET /api/workouts: Retrieve a list of user workouts.
- PUT /api/workouts/:id: Update a specific workout.
- DELETE /api/workouts/:id: Delete a specific workout.
The API utilizes JSON Web Tokens (JWT) for authentication. Users need to authenticate before accessing protected resources.
- Register a new user:
curl -X POST http://localhost:3000/api/auth/register -H 'Content-Type: application/json' -d '{"email": "example@email.com", "password": "yourpassword"}'
- Log in an existing user:
curl -X POST http://localhost:3000/api/auth/login -H 'Content-Type: application/json' -d '{"email": "example@email.com", "password": "yourpassword"}'
This Minimum Viable Product (MVP) is licensed under the GNU AGPLv3 license.
This MVP was entirely generated using artificial intelligence through CosLynx.com. No human was directly involved in the coding process.
For any questions or concerns regarding this AI-generated MVP, please contact CosLynx at:
- Website: CosLynx.com
- Twitter: @CosLynxAI
Create Your Custom MVP in Minutes With CosLynxAI!