/nyc_restaurants

Personal spare-time project to build a NYC Restaurants web search using the restaurants dataset example from MongoDB.

Primary LanguageJavaScript

NYC RESTAURANTS

Although this project is 'compiling' and working, it contains conceptual errors. I will rebuild soon.

Please note. This project is very outdated. The project don't follows the current best practices for Node.js, neither for Angular or anything else in this repo. May have some useful bits of code, but I would not use any of this in production. Cheers.

Spare time project using MongoDB, Express, Angular and Node.JS. Please, bear in mind that several JavaScript functions can be better written and several pieces of code are used for test only. This is a project for learning purposes and not a commercial project.
Please bear in mind that many Javascript functions have partially commented code that can be used for future reference. The project is messy at this point and a sanitization of unused functions and files is mandatory.
Download at your own risk.
This project includes.

  • Front end
    1. Angular JS framework - v1.4.5
    2. Bootstrap - v3.3.6
    3. JQuery - v2.2.2
  • RESTful API
    1. MongoDB - MongoDB shell - v3.2.1
    2. Express JS framework - v4.13.1
    3. Node.js - v5.5.0
  • NG2-pagination

THE MEAN STACK

The project from this branch and beyond has the following organisation. The software used are the MEAN stack (Mongo DB, Express, Angular and Node.JS) including the Twitter Bootstrap for the front-end. The front-end consumes data from Node.JS using a RESTful API. See the image below for more info.

NYC Mean



The data-flow with REST follows the requests and returns as the image below.

Mean data-flow

HOW TO INSTALL

This section details how to install this project in a local machine in order to test it. Please note that this app was only tested on Mac OSX.

  1. Download and install the MongoDB database file.
  2. Clone the repository: $git clone https://github.com/agabardo/nyc_restaurants.git

#HOW TO RUN ##Starting your Node.JS local server

Simply navigate to the project folder and use the command 'start' with Node Package Manager: $ npm start
Tip: Be sure your MongoDB is up and running.

To access your project use the address: http://localhost:3000/


##Next milestones
  • Make an easy option for Clearing the search.
  • Making the submission of the filters automatic.
  • Create an UIX friendly menu for the 'Cuisine' drop down (too many items).
  • Change the favorites from sessios to SQLite or other database.
  • Add the Geolocation as the suggested Lat,Long for a new restaurant.
  • Add an integration with oAuth for login.
  • OK. Add a tree structure to explain the folders in the project.
  • OK. Build a simple data-flow graph with the flow of the app.
  • OK. Sanitization of unused javascript functions.
  • OK. Sanitization of unused packages.
  • OK. Add the missing endpoints for the API.

#CURRENT SCREENSHOTS