Skip to content

Project: Simple fitness tracking tool to set and monitor goals. Created at https://coslynx.com

Notifications You must be signed in to change notification settings

coslynx/fitness-tracker-mvp-react-node

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

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

Repository files navigation

fitness-tracker-mvp-react-node

A comprehensive fitness tracker web application built with React, Node.js, and MongoDB, empowering users to track their progress, set personalized goals, and connect with a supportive community.

Developed with the software and tools below.

React Framework Frontend Technologies Node.js Backend LLMs Used
git-last-commit GitHub commit activity GitHub top language

πŸ“‘ Table of Contents

  • πŸ“ Overview
  • πŸ“¦ Features
  • πŸ“‚ Structure
  • πŸ’» Installation
  • πŸ—οΈ Usage
  • 🌐 Hosting
  • πŸ“„ License
  • πŸ‘ Authors

πŸ“ Overview

This repository contains the source code for a Fitness Tracker web application built using React, Node.js, and MongoDB. This application aims to empower fitness enthusiasts by providing them with the tools to track their progress, set personalized goals, and connect with a supportive community.

πŸ“¦ Features

Feature Description
βš™οΈ Architecture The codebase follows a modular architectural pattern with separate directories for different functionalities, ensuring easier maintenance and scalability.
πŸ“„ Documentation The repository includes a README file that provides a detailed overview of the application, its dependencies, and usage instructions.
πŸ”— Dependencies The codebase relies on various external libraries and packages such as React, uuid, esbuild, and eslint, which are essential for building and styling the UI components, and handling external services.
🧩 Modularity The modular structure allows for easier maintenance and reusability of the code, with separate directories and files for different functionalities such as background, components, and content.
πŸ§ͺ Testing Implement unit tests using frameworks like Jest or React Testing Library to ensure the reliability and robustness of the codebase.
⚑️ Performance The performance of the system can be optimized based on factors such as the browser and hardware being used. Consider implementing performance optimizations for better efficiency.
πŸ” Security Enhance security by implementing measures such as input validation, data encryption, and secure communication protocols.
πŸ”€ Version Control Utilizes Git for version control with GitHub Actions workflow files for automated build and release processes.
πŸ”Œ Integrations Interacts with browser APIs, external services through HTTP requests, and includes integrations with speech recognition and synthesis APIs.
πŸ“Ά Scalability Design the system to handle increased user load and data volume, utilizing caching strategies and cloud-based solutions for better scalability.

πŸ“‚ Structure

fitness-tracker-mvp-react-node
β”œβ”€β”€ 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

πŸ’» Installation

πŸ”§ Prerequisites

  • Node.js
  • npm
  • Docker (optional)

πŸš€ Setup Instructions

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

πŸ—οΈ Usage

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

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

βš™οΈ Configuration

Adjust configuration settings in next.config.js or .env.

πŸ“š Examples

  • πŸ“ Example 1: Create a new goal using the GoalInput component.
  • πŸ“ Example 2: View your progress data for a specific goal using the ProgressChart component.
  • πŸ“ Example 3: Share a progress update with your friends on social media using the SocialShareButton component.

🌐 Hosting

πŸš€ Deployment Instructions

  1. Vercel:
    • Create a new Vercel project.
    • Select the current directory.
    • Deploy the project.
  2. Netlify:
    • Create a new Netlify site.
    • Connect your GitHub repository.
    • Deploy the project.
  3. GitHub Pages:
    • Configure GitHub Pages in your repository settings.
    • Select the gh-pages branch for deployment.
  4. AWS:
    • Create an AWS account.
    • Follow the AWS documentation for deploying Next.js applications.
  5. Google Cloud:
    • Create a Google Cloud project.
    • Follow the Google Cloud documentation for deploying Next.js applications.

πŸ”‘ Environment Variables

  • NEXT_PUBLIC_API_URL: URL of the API server (e.g., http://localhost:3000/api).
  • DATABASE_URL: Connection string for the MongoDB database.
  • GOOGLE_CLIENT_ID: Google OAuth client ID.
  • GOOGLE_CLIENT_SECRET: Google OAuth client secret.

πŸ“œ API Documentation

πŸ” Endpoints

  • GET /api/goals: Retrieves a list of user goals.
  • POST /api/goals: Creates a new user goal.
  • GET /api/goals/:id: Retrieves a specific user goal by ID.
  • PUT /api/goals/:id: Updates a user goal by ID.
  • DELETE /api/goals/:id: Deletes a user goal by ID.
  • GET /api/progress: Retrieves user progress data.

πŸ”’ Authentication

Use JWT tokens for authentication.

πŸ“ Examples

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

πŸ“œ License

This project is licensed under the MIT License.

πŸ‘₯ Authors

🌐 CosLynx.com

Create Your Custom MVP in Minutes With CosLynxAI!