- Description/Purpose
- System Requirements
- Application Requirements
- Installation
- Configuration
- Testing Suite
- Screenshots
- Contributors/Developers
- Special Thanks
This application is designed to help users find out which cities they may want to move to. A user can register an account to save cities they want to come back to later. For now, this application features just basic data on cities, such as median home prices and ethnicity breakdowns (and more).
To run this application, the following items must be installed and configured:
- Ruby >= 2.5.1 - The language MoveTime is written in
- Rails >= 5.2.1 - The web framework
- Redis - For caching user requests
- Bundler - For installing Ruby gems
- PostgreSQL - Database of choice for Move Time
This application requires an API key from Google. The API key must be set in
the application's environment variables under the key name GOOGLE_MAPS_KEY
.
You can get your own Google API key here.
More information about where to set this key is located below.
- Clone this repository
git clone git@github.com:mikecm1141/move_time.git
- Navigate to project directory
cd move_time
- Run
bundle install
to install dependencies - Run
figaro install
to generate theapplication.yml
file - this is where yourGOOGLE_MAPS_KEY
should go - Run
rails db:{create,migrate}
to create the database and run the database migrations - Run
rails server
to start up the server - Application now available at
http://localhost:3000
This application uses a Redis installation to cache the HTTP requests sent
to the Data USA service. For development
environments, the application is set
to use a Redis server at redis://localhost:6379
. For production
environments, the application is set to use a Redis server at ENV['REDIS_URL']
which should be changed to reflect your production environment.
This project is tested using RSpec and aims to hit 100% test coverage at all times.
- Navigate to installed project directory
move_time
- Run
rspec
to run the full test suite
Special thank you to the Data USA API for helping out with U.S. Census data endpoints.