checkpoint 3

This commit is contained in:
2025-08-24 19:37:39 -07:00
parent 91493446b7
commit 731b9f1652
8 changed files with 65 additions and 34 deletions

View File

@@ -0,0 +1,35 @@
package parser
import "time"
// ActivityMetrics contains all metrics extracted from activity files
type ActivityMetrics struct {
ActivityType string
StartTime time.Time
Duration time.Duration
Distance float64 // in meters
MaxHeartRate int
AvgHeartRate int
AvgPower int
Calories int
Steps int
ElevationGain float64 // in meters
ElevationLoss float64 // in meters
MinTemperature float64 // in °C
MaxTemperature float64 // in °C
AvgTemperature float64 // in °C
}
// Parser defines the interface for activity file parsers
type Parser interface {
ParseFile(filename string) (*ActivityMetrics, error)
}
// FileType represents supported file formats
type FileType string
const (
FIT FileType = "fit"
TCX FileType = "tcx"
GPX FileType = "gpx"
)