Fitlog — это приложение для отслеживания тренировок на базе GenAI, которое позволяет пользователям регистрировать свои программы, тренировки и подходы. Приложение включает в себя такие функции, как нечеткий поиск названий программ и тренировок на базе Fuse.js, а также интегрирует Prisma для управления базой данных. Это приложение на базе стека MERN, созданное с использованием Next.js для рендеринга на стороне сервера.
Вот схема базы данных для отслеживания пользовательских программ, тренировок и подходов:
user_id
, username
и password
.routine_id
, routine_name
и user_id
. Программа включает в себя несколько тренировок.workout_id
, workout_name
, routine_id
и date
. Тренировка состоит из нескольких подходов.set_id
, set_weight
, set_reps
, workout_id
и date
. Клонируем репозиторий:
git clone https://github.com/yourusername/fitlog.git
Перейдите в каталог проекта:
cd fitlog
Установите зависимости:
npm install
Настройте переменные среды, создав файл .env. Добавьте URL-адрес базы данных Prisma, учетные данные клерка и другие необходимые переменные среды:
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
Примените миграцию Prisma к вашей базе данных:
npx prisma migrate dev
Запустите сервер разработки:
npm run dev
Откройте браузер и перейдите по адресу http://localhost:3000, чтобы увидеть приложение в действии.
Лицензия
Этот проект лицензируется по лицензии MIT — подробности см. в файле LICENSE.
Содействие
Не стесняйтесь создавать форк репозитория и отправлять запросы на включение. Вклады приветствуются!
Будущие улучшения
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.
Самый простой способ развернуть приложение Next.js — использовать платформу Vercel от создателей Next.js.
Дополнительные сведения см. в документации по развертыванию Next.js.