a route is just an array of GPS positions in time, from start to stop… (so you would PUSH a new position onto the array til stop (some timer started at start time, every 10 seconds, or… whatever accuracy you need)
then to save to DB, you need some db that will take variable sized objects
mongo is good at this. (there may be others)…
so you have a route object, which has a name, and an array of GPS points from start to finish.
you might think about saving the time offset from, start, so you can tell on subsequent route if the user is moving faster or slower…(just an idea that changes the data saved)