FitQuest is an open-source web fitness application built with Next.js 15. It helps users track their fitness journey, set goals, and connect with friends.
- Body Metrics: Track and visualize your body measurements.
- Meal Logger: Log your meals to monitor your diet and nutrition.
- Exercise Logger: Record your workouts and track your progress.
- Goal Setter: Set fitness goals and track your progress towards achieving them.
- Leveling/Daily Quests: Stay motivated with daily quests and a leveling system.
- Leaderboards: Compete with friends and other users on leaderboards.
- Social Features: Connect with friends, share your progress, and support each other.
- Analytics and Insights: Gain insights into your fitness data to optimize your routine.
The dashboard is organized into the following sections:
- Home: Overview of your progress, daily quests, and recent activity.
- Meals: Log and track your meals.
- Workouts: Log and track your workouts.
- Quests: View and complete daily quests to earn rewards and level up.
- Friends: Connect with friends, view their profiles, and share your progress.
The landing page provides an introduction to FitQuest and its features, encouraging new users to sign up.
- Next.js 15
- React 19
- TypeScript
- Tailwind CSS
- PostgreSQL (pg)
- Drizzle ORM
- Radix UI
- Zod
- Lucide React
- Recharts
- Next-Themes
- React Hook Form
-
Clone the repository:
git clone https://github.com/Soufi-MA/fitquest
-
Install dependencies:
npm install # or yarn install # or pnpm install
-
Set up your environment variables:
- Create a
.env.localfile based on.env.example. - Fill in the necessary values (e.g., database connection strings, API keys).
- Create a
-
Run the development server:
npm run dev # or yarn dev # or pnpm dev
-
Open your browser and navigate to
http://localhost:3000.
We welcome contributions to FitQuest! If you'd like to contribute, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them with clear, descriptive commit messages.
- Submit a pull request.
This project is licensed under the MIT License.