Giter Club home page Giter Club logo

koroibos's Issues

Olympian Events Endpoint

GET api/v1/events

  • Shows a list of all event names as strings under a specific sport.
{
  "events":
    [
      {
        "sport": "Archery",
        "events": [
          "Archery Men's Individual",
          "Archery Men's Team",
          "Archery Women's Individual",
          "Archery Women's Team"
        ]
      },
      {
        "sport": "Badminton",
        "events": [
          "Badminton Men's Doubles",
          "Badminton Men's Singles",
          "Badminton Women's Doubles",
          "Badminton Women's Singles",
          "Badminton Mixed Doubles"
        ]
      },
      {...}
    ]
}

Youngest Age Endpoint

GET api/v1/olympians?age=youngest

  • Shows name, team, age, sport, and medals won count.
{
  [
    {
      "name": "Ana Iulia Dascl",
      "team": "Romania",
      "age": 13,
      "sport": "Swimming"
      "total_medals_won": 0
    }
  ]
}

Deployment

  • Finalize Deployment database configuration
  • Add Readme and any other API Documentation

Initial Setup

  • Install all NPM packages
  • Setup Testing Suites
  • Create and migrate database

Olympians Index Endpoint

GET api/v1/olympians

  • Index page of all entries, only contains name, team, age, sport, and medals won count.
    [
      {
        "name": "Maha Abdalsalam",
        "team": "Egypt",
        "age": 18,
        "sport": "Diving"
        "total_medals_won": 0
      },
      {
        "name": "Ahmad Abughaush",
        "team": "Jordan",
        "age": 20,
        "sport": "Taekwondo"
        "total_medals_won": 1
      },
      {...}
    ]

Olympian Stats Endpoint

GET api/v1/olympian_stats

  • Shows total count, average weight by gender and average age.
{
    "olympian_stats": {
      "total_competing_olympians": 3120
      "average_weight:" {
        "unit": "kg",
        "male_olympians": 75.4,
        "female_olympians": 70.2
      }
      "average_age:" 26.2
    }
  }

Olympians Fewest Medal Count

GET api/v1/olympians?medals=least

  • Shows name, team, age, sport, and medals won count. Sorts the Olympians by lowest medal count. Olympians with no medals won will not be listed.
{
  [
    {
      "name": "Giovanni Abagnale",
      "team": "Italy",
      "age": 21,
      "sport": "Rowing"
      "total_medals_won": 1
    },
    {...}
  ]
}

Olympians Medal Count

GET api/v1/olympians?medals=most

  • Shows name, team, age, sport, and medals won count. Sorts the Olympians by medal count. Olympians with no medals won will not be listed.
{
  [
    {
      "name": "Nathan Ghar-Jun Adrian",
      "team": "United States",
      "age": 27,
      "sport": "Swimming"
      "total_medals_won": 3
    },
    {...}
  ]
}

Oldest Age Endpoint

GET api/v1/olympians?age=oldest

  • Shows name, team, age, sport, and medals won count.
{
  [
    {
      "name": "Julie Brougham",
      "team": "New Zealand",
      "age": 62,
      "sport": "Equestrianism"
      "total_medals_won": 0
    }
  ]
}

Testing

  • Test all endpoints using Jest.
  • Include sad path testing where applicable.

Olympian Medal List Endpoint

GET api/v1/events/:id/medalists

  • Provides a list of all medalist names, team, age, and medal won.
{
  "event": "Badminton Mixed Doubles",
  "medalists": [
      {
        "name": "Tontowi Ahmad",
        "team": "Indonesia-1",
        "age": 29,
        "medal": "Gold"
      },
      {
        "name": "Chan Peng Soon",
        "team": "Malaysia",
        "age": 28,
        "medal": "Silver"
      }
    ]
}

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.