Skip to content

Project: Streamlined Solution for Quick Tasks. Created at https://spectra.codes, which is owned by @Drix10

Notifications You must be signed in to change notification settings

coslynx/fitness-goals-tracker-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

fitness-tracker

A web application for seamlessly tracking fitness goals and progress.

Developed with the software and tools below.

Framework: React Frontend: JavaScript, HTML, CSS Backend: Node.js Database: MongoDB
git-last-commit GitHub commit activity GitHub top language

πŸ“‘ Table of Contents

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

πŸ“ Overview

The repository contains a Minimum Viable Product (MVP) called "fitness-tracker" that provides a comprehensive solution for tracking fitness goals using React, Node.js, MongoDB, and Firebase Authentication.

πŸ“¦ Features

Feature Description
βš™οΈ Architecture The codebase follows a modular architectural pattern, enabling easier maintenance and scalability.
πŸ“„ Documentation The repository includes a README file that provides a detailed overview of the MVP, its dependencies, and usage instructions.
πŸ”— Dependencies Utilizes various external libraries and packages essential for building and styling user interfaces.
🧩 Modularity Code organization allows for the separation of functionalities, enhancing reusability and readability.
πŸ§ͺ Testing The setup supports testing practices to ensure reliability and performance.
⚑️ Performance Ensures optimal performance with strategies like lazy loading and efficient state management.
πŸ” Security Implements user authentication and data protection measures.
πŸ”€ Version Control Utilizes Git for version control with GitHub for collaboration and integration.
πŸ”Œ Integrations Integrates with social media platforms for sharing achievements and Firebase for authentication.
πŸ“Ά Scalability Designed to accommodate growing numbers of users and fitness data seamlessly.

πŸ“‚ Structure

fitness-tracker/
β”œβ”€ src/
β”‚    β”œβ”€ components/
β”‚    β”‚    β”œβ”€ GoalForm.jsx
β”‚    β”‚    β”œβ”€ ProgressTracker.jsx
β”‚    β”‚    β”œβ”€ Header.jsx
β”‚    β”‚    └─ Notification.jsx
β”‚    β”œβ”€ pages/
β”‚    β”‚    β”œβ”€ Home.jsx
β”‚    β”‚    β”œβ”€ Dashboard.jsx
β”‚    β”‚    └─ Profile.jsx
β”‚    β”œβ”€ styles/
β”‚    β”‚    β”œβ”€ index.css
β”‚    β”‚    └─ tailwind.css
β”‚    β”œβ”€ utils/
β”‚    β”‚    β”œβ”€ api.js
β”‚    β”‚    β”œβ”€ auth.js
β”‚    β”‚    └─ helpers.js
β”‚    β”œβ”€ config/
β”‚    β”‚    β”œβ”€ firebaseConfig.js
β”‚    β”‚    └─ serverConfig.js
β”‚    β”œβ”€ routes/
β”‚    β”‚    β”œβ”€ api.js
β”‚    β”‚    └─ goalRoutes.js
β”‚    β”œβ”€ .env
β”‚    β”œβ”€ package.json
β”‚    β”œβ”€ README.md
β”‚    β”œβ”€ tailwind.config.js
β”‚    β”œβ”€ vite.config.js
β”‚    β”œβ”€ jest.config.js

πŸ’» Installation

πŸ”§ Prerequisites

  • Node.js
  • npm
  • MongoDB Atlas account
  • Firebase account for authentication

πŸš€ Setup Instructions

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

πŸ—οΈ Usage

πŸƒβ€β™‚οΈ Running the Minimum Viable Product (MVP)

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

βš™οΈ Configuration

Adjust configuration settings in the .env file for your Firebase and MongoDB connection strings.

πŸ“š Examples

  • πŸ“ Example 1: Setting a goal through the GoalForm component.
  • πŸ“ Example 2: Visualizing progress via the ProgressTracker.
  • πŸ“ Example 3: Sharing achievements through social media integrations.

🌐 Hosting

πŸš€ Deployment Instructions

To host the Fitness Tracker MVP, consider using platforms like:

  • Vercel
  • Heroku
  • AWS
  • Google Cloud

Deploy to Heroku

  1. Install the Heroku CLI:
    • npm install -g heroku
  2. Login to Heroku:
    • heroku login
  3. Create a new Heroku app:
    • heroku create
  4. Deploy the code:
    • git push heroku main

πŸ”‘ Environment Variables

  • DB_HOST: Database host
  • DB_USER: Database user
  • DB_PASS: Database password
  • FIREBASE_API_KEY: Firebase API Key

πŸ“œ API Documentation

πŸ” Endpoints

  • GET /api/goals: Retrieves a list of user fitness goals.
  • POST /api/goals: Creates a new fitness goal for the authenticated user.

πŸ”’ Authentication

Use Firebase Authentication for secure login and user management.

πŸ“ Examples

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

πŸ“œ License

This Minimum Viable Product (MVP) is licensed under the GNU AGPLv3.

πŸ‘₯ Authors

🌐 Spectra.Codes

Why only generate Code? When you can generate the whole Repository!