# Body track [![Build Status](https://ci.vdhsn.com/api/badges/adam/bodytrack/status.svg?ref=refs/heads/trunk)](https://ci.vdhsn.com/adam/bodytrack) ## Body track backend rules - Database commandments 1. All measurement values are in metric units - weight = kg - height = cm - calories = kcal 2. All time values are in UTC 3. All ip related values need to support both ipv4 and ipv6 4. Email addresses are unique per user - HTTP APIs specs - Authentication - JWTs: - 14 day maximum lease time - claims (userid) - OAuth2: scopes (email, profile, stats, workouts) - REST based design - Allow export via CSV all personal data - Allow deleting account data - 80ms 95th percentile max response time for all calls - Frontend specs - Support Chrome, Firefox, Safari - Support mobile and desktop sizes - All pages should be bookmarkable, including queries for charts and search - Performance - 2 seconds 95th pct for TTI - Full page size must be under 500kb (including API calls)