You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.0 KiB
35 lines
1.0 KiB
# 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)
|