Find local coffee shops near you!
Before getting started with installation, you will need to create an account and get API keys from
Yelp, Abstract for Geolocation Services, GoogleCloudPlatform, and OpenWeather
Please sign up to get your own copy and include them as environment variables with Figaro.
Run figaro install
to add your own application.yml file to the application.
These instructions will get you up and running with a copy of the project on your local machine for development and testing purposes.
- Fork and Clone this repo
- Install gem packages:
bundle install
- Run
rails db:{drop,create,migrate,seed}
-- (you may see errors from pg_restore that you can ignore) - Run rails s to start the rails server
- Run redis-server to start the redis server
- Run bundle exec sidekiq -q default to start Sidekiq server
- Run rails s -p 3001 on back-end repo to run the Rails API
- Go to localhost:3000 to view the Development environment for the application!
localhost:3000/
Welcome to Caffeination! View local coffee shops near you, register a new account to star and remember your saved shops and share your favorite coffee shops. Enter a location to search for coffee shops, or click the button for current location to find your current zipcode.
localhost:3000/sign_up
Path to register a new user.
localhost:3000/log_in
Path to sign in an already registered user.
localhost:3000/auth/:provider/callback
Route for initiating Oauth flow for Google with Omniauth.
localhost:3000/current_location
Route for using geolocation services to find your current location.
localhost:3000/search
After clicking on the search button, you will be brought to the Search page where you can see the coffee shop results for the location you input. Either filter the results by "No Starbucks", "Rating", or click on the next page of results.
localhost:3000/coffee_shop
Route to show an individual coffee_shop from the search page.
Testing with RSpec
To run the full test suite you will need to run the command:
bundle exec rspec
To run individual tests use:
bundle exec rspec spec/folder/file
- Rails
- PostgreSQL
- RSpec
- Capybara
- Launchy
- Factory Bot Rails
- Faker
- Fast JSON API
- HTTParty
- Shoulda Matchers
- Sidekiq
- Redis
- Bcrypt
- Better Errors
- Webmock
- VCR
- Pagy
- Omniauth
- Docker
- CircleCI
- Heroku
-
Ruby 3.0.0
-
Rails 6.1