Tomás Alexandre

Software I build in the open.

Software que construo à vista de todos.

I'm Tomás, a full-stack developer. The projects here are free to read, run on your own server and change however you like.

Sou o Tomás, programador full-stack. Os projetos aqui são livres: podes ler o código, corrê-los no teu servidor e alterá-los como quiseres.

FitPlan

A self-hosted fitness app. Work out your calorie targets, log meals, follow guided workouts and track your progress, all in one PWA you install on your phone. Your data stays on your server.

Uma app de fitness que alojas tu. Calcula as tuas metas de calorias, regista refeições, segue treinos guiados e acompanha a tua evolução, tudo numa PWA que instalas no telemóvel. Os dados ficam no teu servidor.

git clone https://github.com/GodFaizT/fitplan.git
LicenseLicença
MIT
Frontend
Next.js
Backend
NestJS, PostgreSQL
Runs onCorre em
Docker

What it doesO que faz

Three parts that feed each other: what you eat, how you train, and what changes over time.

Três partes que se ligam: o que comes, como treinas e o que muda ao longo do tempo.

NutritionNutrição

  • Calorie and macro targets from your body and goal
  • Meal log with common foods, saved foods and "copy yesterday"
  • Barcode scanner using Open Food Facts
  • Optional AI photo analysis: snap a plate, get foods and macros
  • Daily water counter
  • Metas de calorias e macros a partir do teu corpo e objetivo
  • Registo de refeições com alimentos comuns, guardados e "copiar ontem"
  • Scanner de código de barras com o Open Food Facts
  • Análise por foto com IA (opcional): fotografas o prato, recebes alimentos e macros
  • Contador de água diário

TrainingTreino

  • 870+ exercises with images and instructions
  • Ready-made 3-day and 5-day plans
  • Weekly schedule for your workouts
  • Guided sessions with a rest timer
  • Suggestions for when to add weight
  • Mais de 870 exercícios com imagens e instruções
  • Planos prontos de 3 e 5 dias
  • Agenda semanal dos treinos
  • Sessões guiadas com cronómetro de descanso
  • Sugestões de quando subir o peso

ProgressProgresso

  • Weight against your goal, plus body measurements
  • Before and after progress photos
  • Weekly summary with streaks and a consistency heatmap
  • Volume per muscle group and cardio log
  • Export everything you've logged
  • Peso face à tua meta e medidas corporais
  • Fotos de progresso antes e depois
  • Resumo semanal com sequências e heatmap de consistência
  • Volume por grupo muscular e registo de cardio
  • Exporta tudo o que registaste

Multi-user, with push notifications and account approval by the admin. The interface is in Portuguese for now. Translations are welcome.

Multi-utilizador, com notificações push e aprovação de contas pelo admin. Para já, a interface está em português.

Run it on your serverCorre-a no teu servidor

You need Docker. Everything else, including the exercise library, is set up on first start.

Precisas do Docker. O resto, incluindo a biblioteca de exercícios, fica pronto no primeiro arranque.

  1. Get the codeObtém o código

    git clone https://github.com/GodFaizT/fitplan.git
    cd fitplan
  2. Add your settingsConfigura

    Copy the example file, then set a database password, two JWT secrets and the email of the admin account.

    Copia o ficheiro de exemplo e define a password da base de dados, dois segredos JWT e o email da conta de admin.

    cp .env.example .env
    openssl rand -hex 32
  3. Start itArranca

    Then open localhost:3000 and register with your admin email.

    Depois abre localhost:3000 e regista-te com o email de admin.

    docker compose up --build

More on the wayVem aí mais

FitPlan is the first project I've opened up. I'll publish more of the tools I build as they're ready. Follow along on GitHub.

O FitPlan é o primeiro projeto que abri. Vou publicar mais ferramentas à medida que estiverem prontas. Acompanha no GitHub.