Fitlog é um aplicativo de rastreamento de treino com tecnologia GenAI que permite aos usuários registrar suas rotinas, treinos e séries. O aplicativo inclui recursos como pesquisa difusa de nomes de rotinas e exercícios, desenvolvido com Fuse.js, e integra Prisma para gerenciamento de banco de dados. Este é um aplicativo de pilha MERN criado usando Next.js para renderização no lado do servidor.
Aqui está o esquema do banco de dados para rastrear rotinas, treinos e séries do usuário:
user_id
, username
e password
.routine_id
, routine_name
e user_id
. Uma rotina tem vários treinos.workout_id
, workout_name
, routine_id
e date
. Um treino tem várias séries.set_id
, set_weight
, set_reps
, workout_id
e date
. Clone o repositório:
git clone https://github.com/yourusername/fitlog.git
Navegue até o diretório do projeto:
cd fitlog
Instale dependências:
npm install
Configure variáveis de ambiente criando um arquivo .env. Adicione o URL do banco de dados Prisma, as credenciais do Clerk e outras variáveis de ambiente necessárias:
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
Aplique migrações do Prisma ao seu banco de dados:
npx prisma migrate dev
Execute o servidor de desenvolvimento:
npm run dev
Abra seu navegador e acesse http://localhost:3000 para ver o aplicativo em ação.
Licença
Este projeto está licenciado sob a licença MIT - consulte o arquivo LICENSE para obter detalhes.
Contribuindo
Sinta-se à vontade para bifurcar o repositório e enviar solicitações pull. Contribuições são bem-vindas!
Melhorias Futuras
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.
A maneira mais fácil de implantar seu aplicativo Next.js é usar a plataforma Vercel dos criadores do Next.js.
Confira nossa documentação de implantação do Next.js para mais detalhes.