Fitlog ist eine GenAI-basierte Trainingsverfolgungsanwendung, mit der Benutzer ihre Routinen, Trainingseinheiten und Sätze protokollieren können. Die App umfasst Funktionen wie die Fuzzy-Suche nach Routine- und Trainingsnamen, unterstützt von Fuse.js, und integriert Prisma für die Datenbankverwaltung. Dies ist eine MERN-Stack-Anwendung, die mit Next.js für serverseitiges Rendering erstellt wurde.
Hier ist das Datenbankschema zum Verfolgen von Benutzerroutinen, Trainingseinheiten und Sätzen:
user_id
, username
und password
.routine_id
, routine_name
und user_id
. Eine Routine besteht aus mehreren Trainingseinheiten.workout_id
, workout_name
, routine_id
und date
. Ein Training besteht aus mehreren Sätzen.set_id
, set_weight
, set_reps
, workout_id
und date
. Klonen Sie das Repository:
git clone https://github.com/yourusername/fitlog.git
Navigieren Sie in das Projektverzeichnis:
cd fitlog
Abhängigkeiten installieren:
npm install
Richten Sie Umgebungsvariablen ein, indem Sie eine .env-Datei erstellen. Fügen Sie Ihre Prisma-Datenbank-URL, Clerk-Anmeldeinformationen und andere erforderliche Umgebungsvariablen hinzu:
DATABASE_URL= " your_postgres_database_url "
NEXT_PUBLIC_CLERK_FRONTEND_API= " your_clerk_frontend_api "
CLERK_API_KEY= " your_clerk_api_key "
GROQ_API_KEY= " Groq Api Key "
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/login
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/signup
Wenden Sie Prisma-Migrationen auf Ihre Datenbank an:
npx prisma migrate dev
Führen Sie den Entwicklungsserver aus:
npm run dev
Öffnen Sie Ihren Browser und gehen Sie zu http://localhost:3000, um die App in Aktion zu sehen.
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der LIZENZ-Datei.
Mitwirken
Fühlen Sie sich frei, das Repository zu forken und Pull-Requests einzureichen. Beiträge sind willkommen!
Zukünftige Verbesserungen
Advanced Analytics: Integrate charts and analytics for users to visualize their workout progress.
GenAI Improvements: Enhance the AI assistant with personalized workout recommendations.
Mobile App: Plan to extend the web app into a mobile application using React Native.
Der einfachste Weg, Ihre Next.js-App bereitzustellen, ist die Verwendung der Vercel-Plattform der Entwickler von Next.js.
Weitere Informationen finden Sie in unserer Next.js-Bereitstellungsdokumentation.