Code Monkey home page Code Monkey logo

microservice-exercise-tracker's Introduction

A microservice server that takes user and identifies/tracks serial exercise data. See sample data at [nonstop-pond sample data] (http://nonstop-pond.glitch.me/api/exercise/users)

Optionally, clone from github and run from the terminal (regardless, you must setup and configure your own mongodb database in place of my process.env.MONGO_URI)!:

npm install

npm start

FCC test structures

{
  username: "fcc_test"
  description: "test",
  duration: 60,
  date: "Mon Jan 01 1990",
  _id: "5fb5853f734231456ccb3b05"
}
User:

{
  username: "fcc_test",
  _id: "5fb5853f734231456ccb3b05"
}
Log:

{
  username: "fcc_test",
  count: 1,
  _id: "5fb5853f734231456ccb3b05",
  log: [{
    description: "test",
    duration: 60,
    date: "Mon Jan 01 1990",
  }]
}

Main page

Add user

Add exercise

Application features and constraints

  • You can POST to /api/users with form data username to create a new user.

  • The returned response from POST /api/users with form data username will be an object with username 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's username and _id.

  • You can POST to /api/users/:_id/exercises with form data description, duration, and optionally date. If no date is supplied, the current 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 a count 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 a log array of all the exercises added.

  • Each item in the log array that is returned from GET /api/users/:id/logs is an object that should have a description, duration, and date properties.

  • The description property of any object in the log array that is returned from GET /api/users/:id/logs should be a string.

  • The duration property of any object in the log array that is returned from GET /api/users/:id/logs should be a number.

  • The date property of any object in the log array that is returned from GET /api/users/:id/logs should be a string.. Use the dateString format of the Date API.

  • You can add from, to and limit parameters to a GET /api/users/:_id/logs request to retrieve part of the log of any user. from and to are dates in yyyy-mm-dd format. limit is an integer of how many logs to send back.

GET user's exercise log: GET /api/users/:_id/logs?[from][&to][&limit]

[ ] = optional

from, to = dates (yyyy-mm-dd); limit = number

.env Settings

MONGO_URI="mongodb+srv://<userId><password>@cluster0.brf1j.mongodb.net/<database>?"
PORT=4321

microservice-exercise-tracker's People

Contributors

aesclever avatar hurricanemark avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.