GithubHelp home page GithubHelp logo

ramble_map's Introduction

RambleMap

Interactive map for visualizing international trends.

Author: Steven Olson

Live Version: http://www.ramblemap.com/

RambleMap

Overview

This application, built in Ruby on Rails, is designed to allow users to explore world-wide patterns and trends for exchange rate, expenses, and other datasets. It was built with long-term travelers and expats in mind, people who are interested in getting a bird's-eye view of a region's financial situation.

Internal datasets were built from World Bank and IEP data, while up-to-date and historical exchange rates are pulled from the OpenExchangeRates API. The mapping library is jVectorMap, which acts as a local JavaScript API. The Twitter API and Twitter-Omniauth allow for sign-in and tweeting of maps.

The application is deployed on Heroku with a Postgres database. Performance is increased through low and high-level caching, and a background rake task to fill the most popular API call caches nightly.

Main Application Page

Screenshot

Dependencies

To run this application locally, you would need to obtain API keys from OpenExchangeRates and Twitter.

Gem dependencies can be found in the Gemfile.

Setup

If you wish to download the project and set it up locally, run the following commands:

  1. git clone https://github.com/SteveOscar/ramble_map.git
  2. bundle
  3. bundle exec figaro install - This sets up figaro on your local machine. You will need to obtain the keys mentioned in the above section and save them in your application.yml file.
  4. rake db:setup to seed the db with countries and datasets

Test Suite

The application is tested with Minitest, using Capybara for feature tests, and VCR for API call stubbing. SimpleCov is used to provide basic test coverage results.

The test suite can be run from the main directory of the project by running the command rake test. The project has test coverage at the following levels: model, service, controller, and integration.

ramble_map's People

Contributors

steveoscar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

ramble_map's Issues

View relative expense for any country

As a user,
I should be able to fill in the welcome form to view relative expenses with any country as a base country,
and the map should be different for each country

View any currency's trend

As a user,
I can fill in the welcome form with any base country to see currency trends,
and the trends are different for each country

View relative expenses to USD

As a user,
I can fill in the welcome form to view relative expenses with a United States base,
and I should see the data on the map.

Twitter login

As a user,
I can login with twitter on the welcome screen

Viewing USD currency change

As a user,
I can visit the welcome page and fill in the form for 1-yr currency change for the United States,
and I should see a map with the data

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.