Fitlog est une application de suivi d'entraînement basée sur GenAI qui permet aux utilisateurs d'enregistrer leurs routines, leurs entraînements et leurs séries. L'application comprend des fonctionnalités telles que la recherche floue de noms de routines et d'entraînements, optimisées par Fuse.js, et intègre Prisma pour la gestion de base de données. Il s'agit d'une application MERN-stack construite à l'aide de Next.js pour le rendu côté serveur.
Voici le schéma de base de données permettant de suivre les routines, les entraînements et les séries des utilisateurs :
user_id
, username
et password
.routine_id
, routine_name
et user_id
. Une routine comporte plusieurs entraînements.workout_id
, workout_name
, routine_id
et date
. Un entraînement comporte plusieurs séries.set_id
, set_weight
, set_reps
, workout_id
et date
. Clonez le dépôt :
git clone https://github.com/yourusername/fitlog.git
Accédez au répertoire du projet :
cd fitlog
Installer les dépendances :
npm install
Configurez les variables d'environnement en créant un fichier .env. Ajoutez l'URL de votre base de données Prisma, les informations d'identification de commis et d'autres variables d'environnement requises :
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
Appliquez les migrations Prisma à votre base de données :
npx prisma migrate dev
Exécutez le serveur de développement :
npm run dev
Ouvrez votre navigateur et accédez à http://localhost:3000 pour voir l'application en action.
Licence
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.
Contribuer
N'hésitez pas à créer un fork sur le référentiel et à soumettre des demandes d'extraction. Les contributions sont les bienvenues !
Améliorations futures
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.
Le moyen le plus simple de déployer votre application Next.js consiste à utiliser la plateforme Vercel des créateurs de Next.js.
Consultez notre documentation de déploiement Next.js pour plus de détails.