- Backend: - Add Stripe subscription fields to companies (migration 019) - Implement Stripe Checkout and Webhook handlers - Add Metrics API (view count, recording) - Update Company and Job models - Frontend: - Add Google Analytics component - Implement User CRUD in Backoffice (Dashboard) - Add 'Featured' badge to JobCard - Docs: Update Roadmap and artifacts
24 lines
886 B
Go
24 lines
886 B
Go
package models
|
|
|
|
import "time"
|
|
|
|
// JobView represents a view record for analytics
|
|
type JobView struct {
|
|
ID string `json:"id" db:"id"`
|
|
JobID string `json:"jobId" db:"job_id"`
|
|
UserID *string `json:"userId,omitempty" db:"user_id"`
|
|
IPAddress *string `json:"ipAddress,omitempty" db:"ip_address"`
|
|
UserAgent *string `json:"userAgent,omitempty" db:"user_agent"`
|
|
ViewedAt time.Time `json:"viewedAt" db:"viewed_at"`
|
|
}
|
|
|
|
// JobMetrics represents analytics data for a job
|
|
type JobMetrics struct {
|
|
JobID int `json:"jobId"`
|
|
ViewCount int `json:"viewCount"`
|
|
UniqueViewers int `json:"uniqueViewers"`
|
|
ApplicationCount int `json:"applicationCount"`
|
|
ConversionRate float64 `json:"conversionRate"` // applications / views * 100
|
|
ViewsLast7Days int `json:"viewsLast7Days"`
|
|
ViewsLast30Days int `json:"viewsLast30Days"`
|
|
}
|