Exercise Tracker
https://replit.com/@ViktoriusSuwand/Exercise-Tracker-Project-7
Solution running on :https://github.com/viktoriussuwandi/Exercise-Tracker
Documentation can be found on :This is the result to complete the Exercise Tracker project. Instructions for building this project can be found at https://www.freecodecamp.org/learn/apis-and-microservices/apis-and-microservices-projects/exercise-tracker
Some of additional features :
* Avoid duplicate username
* Avoid duplicate user_id using recursive function
* Using local file to save user input
* Using id generator to generate user id
* Using express validator to validate user input
Test Scenario :
- You should provide your own project, not the example URL.
- You can POST to /api/users with form data username to create a new user.
- The returned response from
POST
/api/users
with form datausername
will be an object withusername
and_id
properties. - You can make a
GET
request to/api/users
to get a list of all users. - The
GET
request to/api/users
returns an array. - Each element in the array returned from
GET
/api/users
is an object literal containing a user'susername
and_id
. - You can POST to
/api/users/:_id/exercises
with form datadescription
,duration
, and optionallydate
. If no date is supplied, thecurrent date
will be used. - The response returned from
POST
/api/users/:_id/exercises
will be the user object with the exercise fields added. - You can make a
GET
request to/api/users/:_id/logs
to retrieve a full exercise log of any user. - A request to a user's log
GET
/api/users/:_id/logs
returns a user object with acount
property representing the number of exercises that belong to that user. - A
GET
request to/api/users/:_id/logs
will return the user object with alog
array of all the exercises added. - Each item in the
log
array that is returned fromGET
/api/users/:_id/logs
is an object that should have adescription
,duration
, anddate
properties. - The
description
property of any object in thelog
array that is returned fromGET
/api/users/:_id/logs
should be a string. - The
duration
property of any object in thelog
array that is returned fromGET
/api/users/:_id/logs
should be a number. - The
date
property of any object in thelog
array that is returned fromGET
/api/users/:_id/logs
should be a string. Use thedateString
format of theDate
API. - You can add
from
,to
andlimit
parameters to aGET
/api/users/:_id/logs
request to retrieve part of the log of any user.from
andto
are dates inyyyy-mm-dd
format.limit
is an integer of how manylogs
to send back.