Skip to content

jackfioru92/fitness

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ‹οΈ Fitness App

Una moderna applicazione mobile di fitness sviluppata in Flutter, progettata per guidare gli utenti nel loro percorso di allenamento e benessere attraverso piani personalizzati, consigli nutrizionali e una vasta libreria di esercizi.

πŸ“± Caratteristiche Principali

🎯 Onboarding Personalizzato

L'app raccoglie informazioni dettagliate sull'utente per creare un'esperienza completamente personalizzata:

  • Dati personali: Nome, etΓ , altezza e peso
  • Obiettivi fitness: Definizione degli obiettivi personali
  • Livello di attivitΓ : Valutazione del livello di attivitΓ  fisica attuale
  • Condizioni mediche: Considerazione di eventuali condizioni mediche particolari
  • Genere: Personalizzazione in base al genere

🏠 Sezione Workouts (Home)

La schermata principale offre un'esperienza completa di allenamento:

  • Piano di allenamento raccomandato: Suggerimenti personalizzati basati sul profilo utente
  • Essentials: Accesso rapido agli allenamenti fondamentali (Strength, Cardio, Yoga, ecc.)
  • New Reels: Video brevi e coinvolgenti con esercizi e consigli
  • Workout Collection: Collezioni tematiche di allenamenti
    • Full Body Workout
    • Upper Body
    • Lower Body
    • Ab Workout
    • E molte altre categorie

FunzionalitΓ  Workout

  • Piani settimanali: Organizzazione degli allenamenti per tutta la settimana
  • Dettagli esercizi: Descrizioni complete con overhead press e altri movimenti
  • Allenamenti specifici: Full body, strength training e programmi mirati

πŸ“‹ My Plan

Sezione dedicata alla pianificazione personale:

  • Piani salvati: Accesso rapido ai propri programmi di allenamento
  • Livelli di difficoltΓ : Dal principiante (Learner) ai livelli avanzati
  • Tracciamento progressi: Monitoraggio del percorso fitness

πŸ₯— Diet Tips

Sistema completo di gestione nutrizionale:

  • Tracciamento calorie: Obiettivo calorico giornaliero (es. 1,500 Cal)
  • Gestione pasti: Tracciamento di tutti i pasti della giornata
    • Colazione
    • Spuntino mattutino
    • Pranzo
    • Spuntino pomeridiano
    • Cena
  • Consigli nutrizionali: Tips giornalieri per una dieta equilibrata
  • Ricette: Database di ricette salutari
  • Preferenze dietetiche:
    • Scelta del tipo di dieta
    • Gestione allergie e intolleranze alimentari
    • Cucine preferite
    • Opzioni vegetariane/vegane
  • Creazione pasti personalizzati: PossibilitΓ  di creare e salvare i propri pasti
  • Insights: Analisi nutrizionale dei progressi

πŸ‘€ Profilo

Area personale completa con:

  • Modifica profilo: Aggiornamento dei dati personali
  • Reminders: Impostazione promemoria per allenamenti e pasti
  • FAQs: Risposte alle domande piΓΉ frequenti
  • Privacy Policy: Informazioni sulla privacy e termini di servizio
  • Logout: Disconnessione sicura dall'account

⭐ Funzionalità Aggiuntive

  • Sistema di preferiti: Salva gli allenamenti e i pasti preferiti
  • Libreria workout: Ricerca avanzata tra tutti gli esercizi disponibili
  • Notifiche: Sistema di notifiche per promemoria e aggiornamenti
  • Supporto multilingua: Selezione della lingua preferita
  • Drawer navigation: Menu laterale per una navigazione rapida

πŸ” Autenticazione

Sistema completo di autenticazione utente:

  • Registrazione: Creazione nuovo account con email e password
  • Login: Accesso con credenziali esistenti
  • Verifica OTP: Sistema di verifica tramite codice OTP
  • Password dimenticata: Recupero password tramite email
  • Reset password: Procedura sicura per il reset della password

🎨 Design e UI/UX

Caratteristiche Design

  • Dark theme: Interfaccia elegante con tema scuro (colori principali: nero, blu accent)
  • Font personalizzati: Utilizzo della famiglia Poppins con diversi pesi
  • Animazioni fluide: Transizioni e animazioni per un'esperienza utente premium
  • Layout responsivo: Adattamento perfetto a diverse dimensioni di schermo
  • Icone SVG: Grafica vettoriale per una qualitΓ  visiva ottimale
  • Immagini ottimizzate: Asset organizzati per categoria per prestazioni ottimali

Pattern Architetturali

  • GetX: State management reattivo con pattern Controller
  • Separation of Concerns: Separazione tra UI, logica e dati
  • Widget riutilizzabili: Componenti comuni per consistenza UI

πŸ› οΈ Tecnologie Utilizzate

Framework e Linguaggi

  • Flutter: Framework principale per lo sviluppo cross-platform
  • Dart: Linguaggio di programmazione (SDK 2.17.1+)

Dipendenze Principali

dependencies:
  flutter:
    sdk: flutter
  get: ^4.6.5                    # State management e routing
  flutter_svg: ^2.0.7            # Supporto per SVG
  country_code_picker: ^3.0.0    # Selettore codice paese
  pinput: ^3.0.1                 # Input OTP/PIN
  numberpicker: ^2.1.1           # Selezione numeri
  flutter_toggle_tab: ^1.2.0     # Toggle buttons
  percent_indicator: ^4.2.2      # Indicatori percentuali
  flutter_calendar_week: ^3.0.2  # Calendario settimanale
  cupertino_icons: ^1.0.2        # Icone iOS

πŸ“ Struttura del Progetto

lib/
β”œβ”€β”€ main.dart                    # Entry point dell'applicazione
β”œβ”€β”€ Constants/
β”‚   β”œβ”€β”€ colors.dart             # Palette colori
β”‚   └── images.dart             # Percorsi asset
β”œβ”€β”€ Controller/
β”‚   β”œβ”€β”€ auth_controller.dart
β”‚   β”œβ”€β”€ bottom_navigation_controller.dart
β”‚   β”œβ”€β”€ home_controller.dart
β”‚   β”œβ”€β”€ myplan_controller.dart
β”‚   β”œβ”€β”€ diet_tip_controller.dart
β”‚   β”œβ”€β”€ favourite_controller.dart
β”‚   └── profile_controller.dart
β”œβ”€β”€ Screen/
β”‚   β”œβ”€β”€ Welcome/               # Onboarding screens
β”‚   β”œβ”€β”€ Auth/                  # Autenticazione
β”‚   β”‚   β”œβ”€β”€ fillDetails/      # Raccolta dati utente
β”‚   β”‚   β”œβ”€β”€ signin_screen.dart
β”‚   β”‚   β”œβ”€β”€ signup_screen.dart
β”‚   β”‚   └── ...
β”‚   β”œβ”€β”€ BottomNavigation/      # Navigazione principale
β”‚   β”œβ”€β”€ Home/                  # Workouts
β”‚   β”œβ”€β”€ MyPlan/                # Piani personalizzati
β”‚   β”œβ”€β”€ DietTips/              # Nutrizione
β”‚   β”œβ”€β”€ Profile/               # Profilo utente
β”‚   β”œβ”€β”€ Favourite/             # Preferiti
β”‚   β”œβ”€β”€ WorkoutLibrary/        # Libreria esercizi
β”‚   β”œβ”€β”€ Notification/          # Notifiche
β”‚   β”œβ”€β”€ Language/              # Selezione lingua
β”‚   β”œβ”€β”€ Setting/               # Impostazioni
β”‚   β”œβ”€β”€ Faqs/                  # Domande frequenti
β”‚   └── TermsCondition/        # Termini e condizioni
└── Widgets/
    β”œβ”€β”€ common_appbar.dart
    β”œβ”€β”€ common_button.dart
    β”œβ”€β”€ common_text_widget.dart
    β”œβ”€β”€ common_textfield.dart
    └── common_widgets.dart

πŸš€ Come Iniziare

Prerequisiti

  • Flutter SDK (2.17.1 o superiore)
  • Dart SDK (incluso con Flutter)
  • Android Studio / VS Code con plugin Flutter
  • Xcode (per sviluppo iOS su macOS)

Installazione

  1. Clona il repository
git clone <repository-url>
cd fitness
  1. Installa le dipendenze
flutter pub get
  1. Verifica la configurazione Flutter
flutter doctor
  1. Esegui l'app
# Per Android
flutter run

# Per iOS
flutter run -d ios

# Per una build di release
flutter build apk          # Android
flutter build ios          # iOS

Asset

Assicurati che tutti gli asset siano presenti nelle seguenti cartelle:

  • assets/images/Welcome/
  • assets/images/Auth/
  • assets/images/Home/
  • assets/images/MyPlan/
  • assets/images/DietTips/
  • assets/images/Profile/
  • assets/images/Favourite/
  • assets/images/WorkoutLibrary/
  • assets/fonts/ (font Poppins)

πŸ“± Piattaforme Supportate

  • βœ… Android (5.0 Lollipop e superiori)
  • βœ… iOS (11.0 e superiori)
  • ⚠️ Web (supporto base)
  • ⚠️ Windows (in sviluppo)

🎯 Funzionalità Future

Possibili miglioramenti futuri:

  • Integrazione con wearable (Apple Watch, Fitbit)
  • Social features (condivisione progressi, community)
  • Video tutorial integrati per ogni esercizio
  • AI-powered workout recommendations
  • Integrazione con calendario per pianificazione avanzata
  • Statistiche e grafici dettagliati
  • ModalitΓ  offline completa
  • Sincronizzazione multi-dispositivo

πŸ”§ Configurazione

Android

Il file android/app/build.gradle Γ¨ configurato con:

  • minSdkVersion: 21
  • targetSdkVersion: 33
  • compileSdkVersion: 33

iOS

Configurazione in ios/Runner/Info.plist per:

  • Permessi fotocamera (se necessari)
  • Permessi notifiche
  • Background modes (per tracking attivitΓ )

πŸ“„ Licenza

Progetto privato - Tutti i diritti riservati

πŸ‘¨β€πŸ’» Sviluppatore

Sviluppato da Giacomo Fiorucci


🀝 Supporto

Per supporto o domande sul progetto:

  • Contatta il cliente direttamente
  • Documentazione tecnica disponibile nel codice sorgente

πŸ“ Note di Versione

Versione 1.0.0+1

  • Release iniziale
  • Tutte le funzionalitΓ  core implementate
  • UI/UX completa e testata
  • Supporto multipiattaforma (Android/iOS)

Questo progetto è stato sviluppato con ❀️ utilizzando Flutter

About

Fitness app in flutter

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors