Python exercise tracker

Test this API:

Create a new user (/api/exercise/new-user)
Get all users
Add an exercise session (/api/exercise/add)
Not the username but the _id that is returned by the API when you create a new user.
Get a user's exercise log
/api/exercise/log?userId=
&from=
&to=
&limit=
userId is the _id returned by the API and is required.
from and to are dates in YYYY-MM-DD format.
limit is the maximum number of exercise sessions to be returned.

View the source on GitHub or Repl.it.

This is a Python port of my Node.js exercise tracker, built with Flask and SQLite. The above front end API test also uses Bootstrap, jQuery, jQuery UI, and highlight.js. The API fulfills the following user stories:

  1. I can create a user by posting form data username to /api/exercise/new-user and returned will be an object with username and _id.
  2. I can get an array of all users by getting api/exercise/users with the same info as when creating a user.
  3. I can add an exercise to any user by posting form data userId (_id), description, duration, and optionally date to /api/exercise/add. If no date supplied it will use current date. Returned will the the user object with also with the exercise fields added.
  4. I can retrieve a full exercise log of any user by getting /api/exercise/log with a parameter of userId (_id). Return will be the user object with added array log and count (total exercise count).
  5. I can retrieve part of the log of any user by also passing along optional parameters of from & to or limit. (Date format yyyy-mm-dd, limit = int)