SweatCrew is a community-powered fitness platform where users can log workouts, join challenges, and stay accountable with friends. Inspired by the Fitr model, SweatCrew fosters consistency through fun competition and community engagement.
- React.js + Vite
- Firebase (Authentication, Firestore, Storage)
- Tailwind CSS
- Chart.js / Recharts
- 🔐 Secure login with Google or Email
- 📅 Daily workout logging
- 💪 Create and join workout challenges
- 🏆 Leaderboards for motivation
- 📈 Visual progress tracking
- 🧑🤝🧑 Social feed & friend system
- Authentication – Firebase Auth (Google & Email/password)
- Workout Logging – Users log daily workouts (type, duration, notes)
- Challenge System – Users create/join challenges
- Leaderboards – Rank users based on challenge progress
- Community – Follow friends, view feeds
- Progress Dashboard – Personal progress stats & charts
- Frontend: React.js with Vite
- Backend: Firebase (Auth, Firestore, Cloud Storage)
- Styling: Tailwind CSS
- Charts: Chart.js or Recharts
- Icons: React Icons or HeroIcons
sweatcrew/
│
├── public/
│ └── favicon.svg
│
├── src/
│ ├── assets/ # Images, logos, illustrations
│ ├── components/ # Reusable UI components
│ ├── features/ # Features like auth, workouts, challenges
│ │ ├── auth/
│ │ ├── workouts/
│ │ ├── challenges/
│ │ └── leaderboard/
│ ├── hooks/ # Custom React hooks
│ ├── pages/ # Main screens (Home, Login, Dashboard)
│ ├── routes/ # Protected routes and navigation
│ ├── services/ # Firebase functions (auth, db, storage)
│ ├── context/ # Global state providers
│ ├── styles/ # Tailwind or global styles
│ ├── utils/ # Helpers (date formatting, validation, etc.)
│ ├── App.jsx
│ ├── main.jsx
│ └── firebase.js # Firebase config and init
│
├── .env
├── index.html
├── tailwind.config.js
├── vite.config.js
├── package.json
└── README.md
-
Clone the repository:
git clone https://github.com/yourusername/sweatcrew.git cd sweatcrew -
Install dependencies:
npm install
-
Set up your Firebase project and copy your config to
.env:VITE_FIREBASE_API_KEY=xxx VITE_FIREBASE_AUTH_DOMAIN=xxx ... -
Start the development server:
npm run dev
TODO: Add screenshots of Dashboard, Challenges page, Leaderboard, etc.
MIT License – Open Source