MVP Working#5
Conversation
… image build feat(devtools): add devtools_options.yaml for Dart & Flutter DevTools settings feat(template): update title in built_with_serverpod.html to include author name
- Created SQL definition for new tables: email_templates, exercise_alternatives, exercise_images, exercises, user_profiles, serverpod_cloud_storage, serverpod_cloud_storage_direct_upload, serverpod_future_call, serverpod_health_connection_info, serverpod_health_metric, serverpod_log, serverpod_message_log, serverpod_method, serverpod_migrations, serverpod_query_log, serverpod_readwrite_test, serverpod_runtime_settings, serverpod_session_log, serverpod_auth_key, serverpod_email_auth, serverpod_email_create_request, serverpod_email_failed_sign_in, serverpod_email_reset, serverpod_google_refresh_token, serverpod_user_image, serverpod_user_info. - Added foreign key constraints for exercise_alternatives and exercise_images tables. - Updated migration files to include new column 'hasEquipment' in user_profiles table. - Updated migration registry to include new migration version.
- Created new SQL migration to define the structure for user_profiles, email_templates, exercise_alternatives, exercise_images, and exercises tables. - Added foreign key constraints and indexes for exercise_alternatives and exercise_images. - Updated migration JSON files to reflect the new table definitions and relationships. - Dropped and recreated user_profiles table to accommodate new schema changes. - Updated migration registry to include the new migration version.
- Created new SQL migration to drop and recreate the user_profiles table with updated schema. - Added new tables: email_templates, exercise_alternatives, exercise_images, exercises, serverpod_cloud_storage, serverpod_cloud_storage_direct_upload, serverpod_future_call, serverpod_health_connection_info, serverpod_health_metric, serverpod_log, serverpod_message_log, serverpod_method, serverpod_migrations, serverpod_query_log, serverpod_readwrite_test, serverpod_runtime_settings, serverpod_session_log, serverpod_auth_key, serverpod_email_auth, serverpod_email_create_request, serverpod_email_failed_sign_in, serverpod_email_reset, serverpod_google_refresh_token, serverpod_user_image, serverpod_user_info. - Updated migration registry to include the new migration version. - Added JSON definitions for the new tables and their relationships.
…es for consistency
…er-facing text and responses
- Created new tables: workout_exercises, workout_plans, and workout_sessions. - Defined columns, foreign keys, and indexes for the new tables. - Added email_templates table with necessary columns and constraints. - Included migration scripts in SQL, JSON, and migration registry.
…dyrd - Created tables for email templates, exercises, user profiles, workout plans, and related entities. - Added foreign key constraints and indexes for data integrity and performance. - Updated the workout_plans table to include a status column with a default value of 'active'. - Added migration files for the new schema and modifications. - Updated migration registry to include the new migration version.
- Implemented `EndpointWorkout` class to handle workout-related API calls. - Added `getActiveWorkoutPlan` method to retrieve the active workout plan for a user. - Created `NoActiveWorkoutPlanException` to handle cases where no active workout plan is found. - Updated protocol files to include new workout endpoint and exception. - Modified generated endpoints to include the new workout endpoint. - Updated test tools to support the new workout endpoint functionality.
- Introduced CreateWorkoutExerciseDto, CreateWorkoutSessionDto, and CreateWorkoutPlanDto for structured workout data transfer. - Implemented createWorkoutPlan method in WorkoutEndpoint to handle the creation of workout plans, including sessions and exercises. - Added exceptions for active workout plan checks: ActiveWorkoutPlanExistsException and NoActiveWorkoutPlanException. - Updated protocol and generated files to include new DTOs and exceptions. - Enhanced integration tests to cover the new createWorkoutPlan functionality.
…or complete workout plans
…updates - Implemented the requestWorkoutPlanGeneration method in the WorkoutEndpoint. - Updated endpoints.dart to include the new method with parameters userId and numberOfWeeks. - Modified protocol.dart to include StreamStatus and updated serialization logic for new models. - Updated protocol.yaml to register the new endpoint. - Added dio package for HTTP requests and dio_web_adapter for web support. - Enhanced serverpod_test_tools.dart to include a test stream for requestWorkoutPlanGeneration.
…n classes for better error handling
…nality for error handling
…ut_plan without outputting plan JSON
- Deleted the existing user_profiles table and recreated it with new columns: weightKgs and heightMs. - Removed columns: weightLbs and heightCms from the user_profiles table. - Updated migration files (JSON and SQL) to reflect the changes in the user_profiles schema. - Added new definition_project.json file to define the database schema for the fitbodyrd module. - Updated migration_registry.txt to include the new migration version.
…d height in meters
- Created tables: food_categories, food_micronutrients, food_serving_sizes, foods, user_food_preferences. - Defined columns with appropriate data types and constraints. - Established foreign key relationships between food-related tables and user_profiles. - Updated migration registry to include the new migration version.
- Created definition_project.json to define the database schema for the fitbodyrd module, including tables for email_templates, exercises, foods, and user_profiles. - Added migration.json to specify the alteration of the user_profiles table to include a new column dietaryRestrictions with a default value of 'none'. - Implemented migration.sql to execute the ALTER TABLE command for adding the dietaryRestrictions column and update the migration registry. - Updated migration_registry.txt to include the new migration version.
- Deleted the existing food_categories table and recreated it with updated columns: slug, iconName, colorHex, and displayOrder. - Added foreign key constraint for parentCategoryId referencing the same table. - Created migration files for the changes in both JSON and SQL formats. - Updated migration registry to include the new migration version. - Enhanced serverpod test tools to include endpoints for managing food categories, including methods for retrieving, creating, updating, and deleting food categories.
- Updated protocol.yaml to include new food-related methods: getFoods, getFoodById, createFood, updateFood, and deleteFood. - Implemented the food management methods in serverpod_test_tools.dart, allowing for CRUD operations on food items. - Adjusted user and workout endpoint methods to reference the correct models after refactoring.
…endpoints to track session completion status
…eld for tracking workout completion status
…al exercise logs against session data
…ards with MetricCard components and removing unused _buildSmallStatCard method
…ition progress indicators, enhancing user experience with visual cues and messages
…ity; bump version in pubspec.yaml to 1.1.1+7
…ng unnecessary blank lines for improved readability
…es, tasks, and coverage goals for backend and frontend modules
…nd and backend, enhancing testing infrastructure documentation
…enarios, and update testing roadmap to reflect progress
…r session handling and date comparison utilities, enhancing test coverage and reliability
… reflecting progress on user session and date comparison utilities
…ality and subscription management, and update testing roadmap to reflect progress
…methods and update testing roadmap to reflect completion of Stage 2
…ieval, refresh, and cache management, and update testing roadmap to reflect completion of Stage 2.3
…gnUp methods, and update testing roadmap to reflect completion of Stage 2.4
…ancing test coverage and update testing roadmap to reflect completion of Stages 2.5 and 2.6
…trieval and creation, and update testing roadmap to reflect completion of Stage 3.1
…ser profile retrieval, food preferences, and utility functions, and update testing roadmap to reflect completion of Stage 3
…retrieval and edge cases, and update testing roadmap to reflect completion of Stage 4.1
… weekly summary retrieval, loading states, and error handling, and update testing roadmap to reflect completion of Stage 4
…lculations, food management, and update testing roadmap to reflect completion of Stage 5
…t and utility functions, and update testing roadmap to reflect completion of Stage 6
…endpoints, exceptions, and update testing roadmap to reflect completion of Stage 7
…epository and cubit tests, and update testing roadmap to reflect completion of Stage 7
…profile management and state transitions, and update testing roadmap to reflect completion of onboarding and splash stages
…e Android and iOS configurations, and replace existing icons with new assets for a cohesive branding experience across platforms.
There was a problem hiding this comment.
This PR is being reviewed by Cursor Bugbot
Details
You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.
To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.
Bug: Production deployment triggered from dev branch
The workflow triggers on both main and dev branches (line 5) but the Deploy to VPS step no longer has the if: github.ref == 'refs/heads/main' condition that was removed (line 60 in diff). This means pushes to the dev branch will now deploy to production VPS, potentially overwriting production with unstable development code. The conditional deployment check should be restored to ensure only the main branch deploys to production.
.github/workflows/build-and-publish-server.yml#L59-L70
fitbodyrd/.github/workflows/build-and-publish-server.yml
Lines 59 to 70 in 4748e86
| if: steps.compare_versions.outputs.should_build == 'true' | ||
| uses: subosito/flutter-action@v2 | ||
| with: | ||
| flutter-version: '3.38.2' |
There was a problem hiding this comment.
Bug: Invalid Flutter version specified in workflow
The workflow specifies flutter-version: '3.38.2', but this version doesn't exist. Flutter 3.38.0 exists as a documented release, but there is no 3.38.2 patch version. This will cause the workflow to fail when attempting to set up Flutter, preventing APK builds from completing. The version should be updated to an existing Flutter version such as 3.38.0 or the latest stable version.
| draft: false | ||
| prerelease: false | ||
| env: | ||
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
There was a problem hiding this comment.
Bug: GitHub releases created from dev branch
The workflow triggers on both main and dev branches (line 5), but the Create Release step lacks a branch condition. This allows the dev branch to create public GitHub releases with production tags when the version changes, potentially publishing unstable development builds as official releases. The workflow should add if: github.ref == 'refs/heads/main' to the release creation step to ensure only the main branch creates releases.
Note
Introduce nutrition/meal-plan schema and refine food tables/constraints via new Serverpod migrations.
nutrition_plans,meal_plans(incl.dayNumber, target macros), andmeal_plan_foods(serving quantity and grams, soft-delete fields) with FKs.food_categorieswith newslugcolumn.foodswith numeric macro fields asdouble precision; setfoods.categoryIdFK toCASCADEon delete.CASCADEdeletes for FKs onfood_micronutrients,food_serving_sizes, anduser_food_preferences.definition.*andmigration.*files for multiple timestamps reflecting the above schema changes.Written by Cursor Bugbot for commit 4748e86. This will update automatically on new commits. Configure here.