FitMart  by parthbuilds-community

MERN fitness e-commerce platform with AI and workout tracking

Created 4 months ago
315 stars

Top 85.4% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

FitMart is a comprehensive, full-stack MERN e-commerce platform designed for fitness and nutrition products. It serves as both a learning resource for developers and a robust starting point for building real-world applications. The project offers extensive features including user authentication, a complete admin dashboard, secure payment integration, a workout tracker, an AI chatbot, and various health calculators, making it suitable for aspiring and experienced developers alike.

How It Works

The platform is built on the MERN stack (React, Node.js, Express, MongoDB), leveraging modern web technologies for a dynamic user experience. Key architectural choices include Firebase for authentication (email/password and Google Sign-In), Razorpay for secure payment processing with server-side HMAC verification, and Google Gemini 2.5 Flash for an integrated AI fitness chatbot. It also utilizes the ExerciseDB API for an exercise library and FullCalendar for an interactive workout tracker. The backend employs middleware for security (Helmet, rate limiting) and efficient data handling with Mongoose.

Quick Start & Requirements

  • Primary install/run: Docker Compose (docker compose up --build) for a full-stack setup, or manual installation via npm install for server and client, followed by npm run dev.
  • Prerequisites: Node.js v16+, MongoDB (Atlas or local), Firebase project, Razorpay account, Google Gemini API key, RapidAPI account with ExerciseDB access, and an SMTP provider for transactional emails (optional). Redis caching for products is optional.
  • Links:
    • Live Demo: https://fitmart-omega.vercel.app/
    • Contributing Guide: docs/CONTRIBUTING.md
    • Security Policy: docs/SECURITY.md

Highlighted Details

  • A full-featured Admin Panel provides capabilities for dashboard analytics, inventory management, customer tracking, sales reports, marketing strategies, and bug tracking.
  • An AI-powered Fitness Chatbot, utilizing Google Gemini 2.5 Flash, offers workout and nutrition advice.
  • Secure payment processing via Razorpay, with critical server-side HMAC signature verification.
  • Integrated Workout Tracker with a FullCalendar-based fitness calendar for session planning and logging.
  • Progressive Web App (PWA) support for enhanced mobile accessibility.
  • User profile management includes saved addresses and a nearby fitness center finder.

Maintenance & Community

The project is actively developed and welcomes contributions, as detailed in docs/CONTRIBUTING.md. It is maintained by Parth Narkar and the Parth Builds Community. GitHub activity indicates a healthy level of engagement with active stars, forks, issues, and pull requests.

Licensing & Compatibility

FitMart is licensed under the MIT License, which permits commercial use, modification, and distribution, making it highly compatible with closed-source projects and enterprise adoption.

Limitations & Caveats

Workout data (notes and calendar events) is stored client-side in localStorage and is not synchronized to the server. The admin access control relies on a single Firebase UID, suggesting that a more granular role-based access control system might be necessary for production environments. Transactional email functionality is optional and requires specific SMTP configuration. The AI chatbot includes a fallback to static responses if the API key is unavailable, ensuring basic functionality.

Health Check
Last Commit

1 week ago

Responsiveness

Inactive

Pull Requests (30d)
156
Issues (30d)
41
Star History
100 stars in the last 30 days

Explore Similar Projects

Starred by Robin Huang Robin Huang(Cofounder of Comfy Org), John Resig John Resig(Author of jQuery; Chief Software Architect at Khan Academy), and
1 more.

openpanel by Openpanel-dev

0.5%
6k
Open-source product analytics platform
Created 2 years ago
Updated 2 days ago
Feedback? Help us improve.