Skip to content

Project: Initial Prototype for User Feedback and Iteration. Created at https://spectra.codes, which is owned by @Drix10

Notifications You must be signed in to change notification settings

coslynx/FitLog-txsgnu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

38 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

FitLog-txsgnu

A web application for tracking fitness goals, progress, and sharing achievements with friends.

Developed with the software and tools below.

Next.js framework for building server-rendered React applications Frontend built with JavaScript, HTML, and CSS Backend built with Node.js PostgreSQL database for storing data Leveraging custom LLMs including Gemini and OpenAI
git-last-commit GitHub commit activity GitHub top language

πŸ“‘ Table of Contents

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

πŸ“ Overview

This repository contains a Minimum Viable Product (MVP) called "FitLog-txsgnu" that empowers fitness enthusiasts to track their progress towards their goals and share their achievements with their network. The application combines personalized goal setting, comprehensive progress tracking, and social features to create a motivating and engaging experience.

πŸ“¦ Features

Feature Description
Goal Setting Users can set personalized fitness goals in various categories (weight loss, exercise, nutrition) with specific targets, timelines, and desired outcomes.
Progress Tracking Track workouts, log food intake, and visualize progress towards goals through charts and graphs. Receive personalized feedback on performance.
Social Sharing Connect with friends, share achievements and milestones, and send motivational messages to support each other.
User Profile Manage personal information, view goal history, and adjust account settings.
Dashboard Get a personalized overview of progress, recent activities, and insights based on logged data.
User-Friendly Interface A simple and intuitive interface design ensures a smooth and engaging user experience for all levels of fitness enthusiasts.
Data Security Robust security measures protect user information through secure storage, encryption, and access controls.
Scalable Architecture Designed to handle a growing user base and increasing data volume.
API Integrations Potential integration with fitness trackers and other health apps for seamless data synchronization.
Regular Updates The application will be regularly updated with new features and improvements based on user feedback.

πŸ“‚ Structure

└─ components
   β”œβ”€ GoalForm.tsx
   β”œβ”€ WorkoutLog.tsx
   β”œβ”€ MealLog.tsx
   β”œβ”€ ProgressChart.tsx
   β”œβ”€ FriendRequest.tsx
   β”œβ”€ FriendList.tsx
   β”œβ”€ UserProfile.tsx
   β”œβ”€ GoalCard.tsx
   β”œβ”€ ActivityCard.tsx
   β”œβ”€ SocialFeed.tsx
   β”œβ”€ Navigation.tsx
   └─ Header.tsx
└─ pages
   β”œβ”€ api
   β”‚   β”œβ”€ auth
   β”‚   β”‚   └─ [...nextauth].js
   β”‚   β”œβ”€ goals
   β”‚   β”‚   └─ [id].js
   β”‚   β”œβ”€ workouts
   β”‚   β”‚   └─ [id].js
   β”‚   β”œβ”€ meals
   β”‚   β”‚   └─ [id].js
   β”‚   β”œβ”€ friends
   β”‚   β”‚   └─ [id].js
   β”‚   └─ user
   β”‚       └─ [id].js
   β”œβ”€ _app.tsx
   β”œβ”€ dashboard
   β”‚   └─ page.tsx
   β”œβ”€ goals
   β”‚   └─ page.tsx
   β”œβ”€ workouts
   β”‚   └─ page.tsx
   β”œβ”€ meals
   β”‚   └─ page.tsx
   β”œβ”€ friends
   β”‚   └─ page.tsx
   └─ profile
       └─ page.tsx
└─ prisma
   β”œβ”€ migrations
   β”‚   └─ 20240208004202_init
   β”‚       β”œβ”€ migration.sql
   β”‚       └─ migration.prisma
   └─ schema.prisma
└─ styles
   └─ globals.css
└─ utils
   β”œβ”€ helpers.js
   └─ index.js
└─ app
   └─ layout.tsx
└─ next.config.mjs
└─ package.json
└─ postcss.config.mjs
└─ tailwind.config.js
└─ tsconfig.json
└─ README.md

πŸ’» Installation

πŸ”§ Prerequisites

  • Node.js
  • npm
  • Docker

πŸš€ Setup Instructions

  1. Clone the repository:
    • git clone https://github.com/spectra-ai-codegen/FitLog-txsgnu.git
  2. Navigate to the project directory:
    • cd FitLog-txsgnu
  3. Install dependencies:
    • npm install

πŸ—οΈ Usage

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

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

βš™οΈ Configuration

Adjust configuration settings in next.config.mjs or .env file.

πŸ“š Examples

  • Goal Setting: Set a weight loss goal of 2 pounds per week, with a target weight of 150 pounds and a timeline of 8 weeks.
  • Progress Tracking: Log a 30-minute cardio workout, including the type of exercise, duration, intensity, and calories burned.
  • Social Sharing: Share your latest workout achievement with your friends and send motivational messages to encourage them.

🌐 Hosting

πŸš€ Deployment Instructions

  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

  • DATABASE_URL: Database connection string for PostgreSQL.

πŸ“œ API Documentation

πŸ” Endpoints

  • GET /api/users: Retrieves a list of users.
  • POST /api/users: Creates a new user.
  • GET /api/users/:id: Retrieves a specific user's information.
  • PUT /api/users/:id: Updates a user's information.
  • DELETE /api/users/:id: Deletes a user.

πŸ”’ Authentication

  • Use NextAuth.js for user authentication, supporting various providers like Google, Facebook, and GitHub.

πŸ“ Examples

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

πŸ“œ License

This project is licensed under the GNU AGPLv3.

πŸ‘₯ Authors

🌐 Spectra.Codes

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