Skip to content

bogdanmatra/entertain-me

Repository files navigation

Entertain Me

Logo

A simple single page application which shows the coolest venues around your location (using Foursquare API):

Feature List

  • The user enters the website (hosted here) and is prompted to share his geolocation.
  • If the user agrees then the autocomplete placeholder (first input on the page) will be populated with his geolocation name.
  • If the user does no agree, the placeholder will show "Choose a place...".
  • The user can choose a different place using the Google Maps Autocomplete component.
  • The user can change the radius of his search and the types of venues he wants to see.
  • When there is no geolocation selected, other filters must be disabled (radius, type).
  • Clicking the pin (last column) in the venue list will open the address Google Maps (for some venues the location is not accurate due to the API data).
  • While the application is querying the Foursquare API, a loader is shown.

Application Structure

FoursquareConstants     $http     $window     $q
             \            |      /      \    /
            FoursquareAPIService   GeolocationService  $scope
                                 \         |          /
                                    VenuesController

Based on the user changes in venues-filters.html the venues-list.html is updated.

Tests

  • Prerequisites: Install Node.js - https://nodejs.org

  • How to run tests: npm install && npm test

  • Tests documentation: https://code.angularjs.org/1.5.11/docs/guide/unit-testing

  • OBS: Ony 5 unit tests written for VenuesController.js as a proof of concept (see VenuesController.spec.js).

  • Manually tested on browsers: Chrome, Firefox, Safari on desktop Mac OS X and Chrome, Safari mobile browsers (Android and iOS).

Other Technical References

Framework used:

Other 3rd party libraries:

Desktop Mobile
Desktop Mobile