Exercise Tracker
A simple exercise-logging web app.
I built this web app for freeCodeCamp’s fourth APIs and Microservices Projects.
longer form project descripton - what worked, what didnt
The project depends on the required
attributes of the form fields for validation. Though I have implemented server-side data validation on the _id
fields, a more robust project would include server-side data validation on all the required form inputs, returning appropriate warnings to the user as needed.
I spent 25h15 working on this project, from start to finish, and I’m pretty pleased with the results.
User Stories
The brief for the Exercise Tracker project was as follows:
- 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.
- I can get an array of all users by getting api/exercise/users with the same info as when creating a user.
- 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.
- 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).
- 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)