- π Overview
- π¦ Features
- π Structure
- π» Installation
- ποΈ Usage
- π Hosting
- π License
- π Authors
This repository contains the source code for a "fitness-tracker-mvp-social-community-web-app", a web application that allows users to set and track fitness goals, monitor progress, and connect with a community of like-minded individuals. It was built using the following technologies:
- Frontend: React, JavaScript, HTML, CSS
- Backend: Node.js
- Database: PostgreSQL
- Authentication: NextAuth.js with Google OAuth
- State Management: Zustand
- API Development: Express.js
- Error Tracking and Monitoring: Sentry
Feature | Description | |
---|---|---|
π | User Authentication | Secure user login and signup with Google OAuth, enabling users to create accounts and manage their personal data. |
π― | Personalized Goal Setting | Users can set and customize their fitness goals, such as weight loss, muscle gain, distance targets, or specific exercise routines. |
π | Progress Tracking | A comprehensive system to track workouts, monitor progress against goals, and analyze performance over time. |
π¬ | Social Interaction | Features like a social feed, group challenges, and user profiles allow users to connect, share achievements, and motivate each other. |
π | Third-Party Integrations | The application integrates with popular fitness trackers like Fitbit and Apple Watch to automatically import activity data, providing a more comprehensive picture of user progress. |
π | Data Analytics | Users can access personalized analytics dashboards to track their progress, identify patterns, and optimize their training strategies. |
π¨ | Customizable UI | A user-friendly and visually appealing interface with a modern design that is responsive across different devices. |
β‘ | Performance Optimization | The application is optimized for speed and efficiency, ensuring a smooth user experience and minimal load times. |
π | Data Security | Robust security measures, including data encryption, secure authentication, and regular security audits, protect user data and privacy. |
π | Scalability | The application is designed to accommodate future growth and expanding user base, ensuring the platform can handle increasing traffic and data storage demands. |
fitness-tracker-mvp-social-community-web-app/
βββ pages
β βββ api
β β βββ auth
β β β βββ [...nextauth].ts
β β βββ goals
β β β βββ [id].ts
β β β βββ index.ts
β β βββ activities
β β β βββ [id].ts
β β β βββ index.ts
β β βββ users
β β βββ [id].ts
β β βββ index.ts
β βββ _app.tsx
β βββ _document.tsx
β βββ index.tsx
β βββ dashboard.tsx
β βββ settings.tsx
βββ components
β βββ layout
β β βββ Header.tsx
β β βββ Footer.tsx
β β βββ Sidebar.tsx
β βββ ui
β β βββ Button.tsx
β β βββ Card.tsx
β β βββ Input.tsx
β β βββ Modal.tsx
β βββ features
β β βββ goals
β β β βββ GoalForm.tsx
β β β βββ GoalList.tsx
β β βββ activities
β β β βββ ActivityForm.tsx
β β β βββ ActivityList.tsx
β β βββ auth
β β βββ LoginForm.tsx
β β βββ SignupForm.tsx
βββ lib
β βββ auth
β β βββ auth.ts
β βββ hooks
β β βββ useUser.ts
β β βββ useGoals.ts
β β βββ useActivities.ts
β βββ utils
β βββ formatters.ts
β βββ validators.ts
βββ styles
β βββ globals.css
β βββ theme.ts
βββ public
β βββ fonts
β βββ images
βββ .env
βββ .eslintrc.js
βββ next.config.js
βββ prisma
β βββ schema.prisma
βββ package.json
- Node.js
- npm
- Docker
- Clone the repository:
git clone https://github.com/coslynx/fitness-tracker-mvp-social-community-web-app.git
- Navigate to the project directory:
cd fitness-tracker-mvp-social-community-web-app
- 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
file and create a .env.local
file for local development configurations.
-
π Example 1: How to create a fitness goal:
- Log in to the application.
- Navigate to the "Goals" section.
- Click "Add Goal".
- Enter details like goal type, target value, and timeframe.
- Submit the form to create the goal.
-
π Example 2: How to track a workout:
- Log in to the application.
- Navigate to the "Activities" section.
- Click "Log Activity".
- Enter workout details like activity type, duration, and calories burned.
- Submit the form to log the activity.
-
π Example 3: How to connect with other users:
- Log in to the application.
- Navigate to the "Social Feed" section.
- View posts from other users, share your achievements, and join group challenges.
- Follow other users to stay motivated and track their progress.
-
Deploying to Vercel:
- Log in to Vercel (or create an account) and choose "New Project".
- Select the "GitHub" option and connect your GitHub account.
- Select the
fitness-tracker-mvp-social-community-web-app
repository. - Follow the Vercel deployment instructions to create and deploy your project.
-
Deploying to Netlify:
- Log in to Netlify (or create an account) and choose "New site from Git".
- Select the "GitHub" option and connect your GitHub account.
- Select the
fitness-tracker-mvp-social-community-web-app
repository. - Follow the Netlify deployment instructions to create and deploy your project.
-
Deploying to GitHub Pages:
- Ensure your project has a
gh-pages
branch. - Add the following configuration to your
package.json
file:"homepage": "https://your-username.github.io/fitness-tracker-mvp-social-community-web-app", "scripts": { "build:gh-pages": "npm run build && npm run build:gh-pages", "deploy:gh-pages": "gh-pages -d build" }
- Install
gh-pages
as a dev dependency:npm install --save-dev gh-pages
- Run the following command to build and deploy to GitHub Pages:
npm run deploy:gh-pages
- Ensure your project has a
-
Deploying to Heroku:
- Install the Heroku CLI:
npm install -g heroku
- Login to Heroku:
heroku login
- Create a new Heroku app:
heroku create
- Deploy the code:
git push heroku main
- Install the Heroku CLI:
NEXT_PUBLIC_GOOGLE_CLIENT_ID
: Your Google OAuth client ID.NEXT_PUBLIC_GOOGLE_CLIENT_SECRET
: Your Google OAuth client secret.DATABASE_URL
: Your PostgreSQL database connection string.SENTRY_DSN
: Your Sentry DSN for error tracking.
- GET /api/users/[id]: Retrieves user data by ID.
- POST /api/users: Creates a new user account.
- GET /api/goals: Retrieves a list of goals for the current user.
- POST /api/goals: Creates a new goal.
- GET /api/goals/[id]: Retrieves a specific goal by ID.
- PUT /api/goals/[id]: Updates a goal by ID.
- DELETE /api/goals/[id]: Deletes a goal by ID.
- GET /api/activities: Retrieves a list of activities for the current user.
- POST /api/activities: Creates a new activity.
- GET /api/activities/[id]: Retrieves a specific activity by ID.
- PUT /api/activities/[id]: Updates an activity by ID.
- DELETE /api/activities/[id]: Deletes an activity by ID.
Use JWT tokens for authentication.
curl -X GET http://localhost:3000/api/goals
curl -X POST http://localhost:3000/api/activities -H "Content-Type: application/json" -d '{"type": "Running", "duration": 30, "caloriesBurned": 200}'
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 of the repository: fitness-tracker-mvp-social-community-web-app
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!