Use this checklist when setting up the project to ensure all files are created.
FitTrackApp/
├── 📄 FitTrackApp.swift
├── 📄 ContentView.swift
├── 📁 Models/
│ ├── 📁 CoreData/
│ │ ├── 📄 PersistenceController.swift
│ │ ├── 📄 FitTrackModel.xcdatamodeld (created in Xcode)
│ │ └── 📄 CoreDataModel.md (instructions)
│ └── 📁 DTOs/
│ ├── 📄 FoodSearchResult.swift
│ └── 📄 NutritionInfo.swift
├── 📁 ViewModels/
│ ├── 📄 WeightViewModel.swift
│ ├── 📄 WorkoutViewModel.swift
│ └── 📄 DietViewModel.swift
├── 📁 Views/
│ ├── 📁 Weight/
│ │ ├── 📄 WeightTrackingView.swift
│ │ └── 📄 WeightChartView.swift
│ ├── 📁 Workout/
│ │ ├── 📄 WorkoutListView.swift
│ │ ├── 📄 AddWorkoutView.swift
│ │ └── 📄 ExerciseProgressView.swift
│ └── 📁 Diet/
│ ├── 📄 DietTrackingView.swift
│ ├── 📄 FoodSearchView.swift
│ └── 📄 AddFoodView.swift
├── 📁 Services/
│ └── 📄 USDAFoodService.swift
├── 📁 Utilities/
│ ├── 📄 DateExtensions.swift
│ └── 📄 Constants.swift
└── 📁 Documentation/
├── 📄 README.md
├── 📄 QUICKSTART.md
├── 📄 SETUP_INSTRUCTIONS.md
├── 📄 TECHNICAL_DOCUMENTATION.md
├── 📄 PROJECT_SUMMARY.md
└── 📄 FILE_CHECKLIST.md (this file)
-
FitTrackApp.swift- App entry point -
ContentView.swift- Main tab view
-
PersistenceController.swift- Core Data stack manager -
CoreDataModel.md- Instructions for creating data model -
FitTrackModel.xcdatamodeld- Create in Xcode (not a text file)
-
FoodSearchResult.swift- USDA API response models -
NutritionInfo.swift- Nutrition helper structures
-
WeightViewModel.swift- Weight tracking business logic -
WorkoutViewModel.swift- Workout tracking business logic -
DietViewModel.swift- Diet tracking business logic
-
WeightTrackingView.swift- Main weight tracking screen -
WeightChartView.swift- Weight progress chart
-
WorkoutListView.swift- Workout history list -
AddWorkoutView.swift- Add new workout form -
ExerciseProgressView.swift- Exercise progress charts
-
DietTrackingView.swift- Main nutrition screen -
FoodSearchView.swift- USDA food search -
AddFoodView.swift- Add food to log
-
USDAFoodService.swift- USDA API integration
-
DateExtensions.swift- Date helper functions -
Constants.swift- App-wide constants
-
README.md- Project overview -
QUICKSTART.md- 10-minute setup guide -
SETUP_INSTRUCTIONS.md- Detailed setup instructions -
TECHNICAL_DOCUMENTATION.md- Architecture documentation -
PROJECT_SUMMARY.md- Project summary -
FILE_CHECKLIST.md- This file
| Category | Count |
|---|---|
| App Files | 2 |
| Model Files | 4 |
| ViewModel Files | 3 |
| View Files | 10 |
| Service Files | 1 |
| Utility Files | 2 |
| Documentation | 6 |
| Total Swift Files | 22 |
| Total Documentation | 6 |
| Grand Total | 28 |
Plus: 1 Core Data model file (.xcdatamodeld) created in Xcode
| File | Approx Lines | Complexity |
|---|---|---|
| FitTrackApp.swift | 60 | ⭐ Simple |
| ContentView.swift | 60 | ⭐ Simple |
| PersistenceController.swift | 150 | ⭐⭐ Medium |
| FoodSearchResult.swift | 180 | ⭐⭐ Medium |
| NutritionInfo.swift | 200 | ⭐⭐ Medium |
| WeightViewModel.swift | 280 | ⭐⭐⭐ Complex |
| WorkoutViewModel.swift | 320 | ⭐⭐⭐ Complex |
| DietViewModel.swift | 350 | ⭐⭐⭐ Complex |
| WeightTrackingView.swift | 280 | ⭐⭐⭐ Complex |
| WeightChartView.swift | 130 | ⭐⭐ Medium |
| WorkoutListView.swift | 280 | ⭐⭐⭐ Complex |
| AddWorkoutView.swift | 270 | ⭐⭐⭐ Complex |
| ExerciseProgressView.swift | 180 | ⭐⭐ Medium |
| DietTrackingView.swift | 330 | ⭐⭐⭐ Complex |
| FoodSearchView.swift | 180 | ⭐⭐ Medium |
| AddFoodView.swift | 270 | ⭐⭐⭐ Complex |
| USDAFoodService.swift | 200 | ⭐⭐ Medium |
| DateExtensions.swift | 220 | ⭐⭐ Medium |
| Constants.swift | 280 | ⭐⭐ Medium |
Total Code: ~3,500 lines
Follow this order when creating files:
- ✅ Create project in Xcode
- ✅ Create folder structure
- ✅ Add
Constants.swift - ✅ Add
DateExtensions.swift
- ✅ Add
PersistenceController.swift - ✅ Create
FitTrackModel.xcdatamodeldin Xcode - ✅ Add
FoodSearchResult.swift - ✅ Add
NutritionInfo.swift
- ✅ Add
USDAFoodService.swift
- ✅ Add
WeightViewModel.swift - ✅ Add
WorkoutViewModel.swift - ✅ Add
DietViewModel.swift
- ✅ Add Weight views (2 files)
- ✅ Add Workout views (3 files)
- ✅ Add Diet views (3 files)
- ✅ Replace
FitTrackApp.swift - ✅ Replace
ContentView.swift
- ✅ Build project (⌘B)
- ✅ Fix any errors
- ✅ Run app (⌘R)
After adding all files, verify:
# In project directory
find . -name "*.swift" | wc -l
# Should show: 22- Models folder exists with CoreData and DTOs subfolders
- ViewModels folder exists with 3 files
- Views folder exists with Weight, Workout, Diet subfolders
- Services folder exists with 1 file
- Utilities folder exists with 2 files
- Project builds without errors (⌘B)
- No red errors in Xcode
- No yellow warnings (ideally)
- FitTrackModel.xcdatamodeld exists
- 4 entities created (WeightEntry, Workout, Exercise, FoodEntry)
- Codegen set to "Class Definition" for all entities
- Workout ↔ Exercise relationship configured
Missing: Core Data model not created or codegen not set
Fix: Create .xcdatamodeld file and set codegen
Missing: Deployment target too low Fix: Set iOS deployment target to 16.0+
Missing: Probably missing Constants.swift or DateExtensions.swift Fix: Add utility files first
Missing: Files not added to target Fix: Select file → File Inspector → Target Membership
Understanding which files depend on others:
Constants.swift (no dependencies)
└─> Used by: All ViewModels and Views
DateExtensions.swift (no dependencies)
└─> Used by: All ViewModels
PersistenceController.swift
└─> Used by: All ViewModels
FoodSearchResult.swift
└─> Used by: USDAFoodService, DietViewModel
NutritionInfo.swift
└─> Used by: DietViewModel, Diet Views
USDAFoodService.swift
└─> Depends on: FoodSearchResult
└─> Used by: DietViewModel
ViewModels
└─> Depend on: Models, Services, Utilities
└─> Used by: Views
Views
└─> Depend on: ViewModels, Models
└─> Used by: ContentView
ContentView
└─> Depends on: All Views
└─> Used by: FitTrackApp
FitTrackApp
└─> Depends on: ContentView, PersistenceController
└─> Entry point (no dependents)
If you're new to iOS development, study files in this order:
Constants.swift- Simple enums and constantsDateExtensions.swift- Extension methodsFitTrackApp.swift- App entry pointContentView.swift- Basic SwiftUI
PersistenceController.swift- Core Data basicsFoodSearchResult.swift- Codable and structsWeightChartView.swift- Charts frameworkWeightTrackingView.swift- SwiftUI views
WeightViewModel.swift- MVVM patternUSDAFoodService.swift- Async networkingWorkoutViewModel.swift- Complex data managementDietViewModel.swift- API integration
- ✅ Use exact file names (case-sensitive)
- ✅ Place in correct folders
- ✅ Copy entire file content (including imports)
- ✅ Don't skip any files
- ✅ Create folders before files
- ✅ Build frequently (after every few files)
- ✅ Fix errors immediately
- ✅ Check console for warnings
- ✅ Clean build folder if issues persist
- ✅ Test each feature individually
- ✅ Add sample data to verify
- ✅ Check charts display correctly
- ✅ Verify data persists after app restart
Before considering setup complete:
- All 22 Swift files created
- All 6 documentation files present
- Core Data model created with 4 entities
- Project builds successfully (⌘B)
- App runs in simulator (⌘R)
- Can add weight entry
- Can log workout
- Can add food
- Charts display data
- Data persists after restart
- No crash errors
- USDA API key added (optional)
All checked? Setup is complete! 🎉
If files are missing or you're unsure:
- Check this list - Verify all files created
- Check folder structure - Ensure correct organization
- Check file names - Must match exactly
- Check file contents - Copy entire code blocks
- Check build errors - Read error messages carefully
- Check documentation - Read SETUP_INSTRUCTIONS.md
Last Updated: January 2026 Version: 1.0.0 Total Files: 28 (22 code + 6 docs)