Git Product home page Git Product logo

project-mongo-api's Introduction

Project Mongo API

This weeks project included building an API wiht MongoDB and generate a couple of RESTful endpoints to return an array or single item.

The problem

I found data on Kaggle that I manipulated slightly to fit my needs. I created a model with a Mongoose with all the data about the restaurants. After seeding the data, I created the following endpoints:

  • "/" Routes
  • "/restaurants" All restaurants. Limited to 100 restaurants per page. To see another page, add ?page=2 to the end of the endpoint. There are 6700 restaurants in total hence 67 pages.
  • "/restaurants/:query" Filter on name or ID. Letters will be treated as name search, numbers as ID search
  • "/cuisines" All cuisines. Displays a list of all available cuisine types
  • "/cuisines/:cuisine" Filter on cuisine (one or several)
  • "/locations/:location" Filter on location (city or country)

If I had more time, I would:

  • added another filter for awards (1-2-3 stars, bib gourmand)
  • improve error handling via middleware
  • improve filtering to enable combination of different filters

I've tested the endpoints quite thoroughly and as far as I'm concerned they all work as intended.

View it live

https://michelin-restaurants.onrender.com/

project-mongo-api's People

Contributors

almaherris avatar hippiekick avatar jenniedalgren avatar emolsz avatar dependabot[bot] avatar dzc1 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.