56 lines
977 B
Markdown
56 lines
977 B
Markdown
App for counting calories
|
|
|
|
Stack:
|
|
* Keycloak
|
|
* React (TypeScript)
|
|
* FastAPI
|
|
* Elasticsearch
|
|
* Supserset
|
|
|
|
Features:
|
|
* Authorization
|
|
* Saving records with absorbed calories (description (optional), at least one of: cals per gram, grams, cals)
|
|
* Editing records (including date)
|
|
* Display records in cronological order with pagination
|
|
* Search by records description
|
|
* Watch stats in superset (calories chart)
|
|
* Docker compose
|
|
|
|
API docs:
|
|
|
|
Authorization: Bearer
|
|
|
|
Record {
|
|
id: int
|
|
owner: string
|
|
description: string
|
|
weight: number
|
|
calories: number
|
|
calspergram: number
|
|
date: datetime
|
|
}
|
|
|
|
GET /records?offset=0&amount=5&query=""
|
|
[
|
|
{
|
|
date: string
|
|
records: Record[]
|
|
}[5]
|
|
]
|
|
|
|
POST /records
|
|
{
|
|
description: string
|
|
weight: number
|
|
calories: number
|
|
calspergram: number
|
|
} -> Record
|
|
|
|
UPDATE /records/:id
|
|
{
|
|
description?: string
|
|
weight?: number
|
|
calories?: number
|
|
calspergram?: number
|
|
date?: datetime
|
|
} -> Record |