FitnessApp created with flutter by using MVVM Architecture with Bloc. Firebase for This project is a mobile application where people with obesity can make their nutrition more accurate and find exercise movements covering many body regions.
You can reach out to FitnessApp Project Documentation: sedat_dayan_20181567_SWE492_DIET_AND_FITNESS_APP.pdf
First, to run this project, navigate to the api directory (cd .\api) and execute the command "python main.py". Next, under the fitness_app/assets directory create a folder named env. Inside the env folder, create a file named ".env" and set the baseUrl to your local host address.
baseUrl = Your local host address
Finally, you can run the project by executing the command "flutter run".
flutter run
- auto_route: ^7.8.4 -> Navigation
- cached_network_image: ^3.3.1 -> image caching
- cloud_firestore: ^4.0.3 -> Firebase Cloud Firestore integration
- dio: ^5.1.2 -> Network requests
- envied: ^0.5.4+1 -> environment variable management
- equatable: ^2.0.5 -> value equality comparison
- firebase_auth: ^4.1.0 -> authentication
- firebase_core: ^2.1.1 > Firebase core functionality
- flutter_bloc: ^8.1.3 -> state management using the BLoC pattern
- flutter_screenutil: ^5.9.0 -> screen size and orientation adaptation
- fluttertoast: ^8.0.8 -> toast notifications
- fpdart: ^1.1.0 -> functional programming utilities for Dart
- google_fonts: ^4.0.4 -> custom fonts from Google Fonts
- google_sign_in: ^6.1.0 -> Google authentication
- json_annotation: ^4.7.0 -> JSON serialization
- lottie: ^2.3.2 -> Lottie animations
- numberpicker: ^2.1.1 -> number picker widget
- shared_preferences: ^2.0.15 -> local data caching
- syncfusion_flutter_gauges: ^21.2.4 -> gauge widgets
- video_player: ^2.4.10 -> video playback
- youtube_player_flutter: ^8.1.1 -> YouTube video player
- shimmer: ^3.0.0 -> shimmer loading effect
- easy_localization: ^3.0.6 -> localization
- flutter_gen: ^5.4.0 -> code generation for assets, fonts
- very_good_analysis: ^5.1.0 -> linting and analysis
- mockito: ^5.4.4 -> mocking for testing