├── .gitignore ├── Gemfile ├── Gemfile.lock ├── README.md ├── README.rdoc ├── Rakefile ├── app ├── assets │ ├── cuisine.txt │ ├── descriptions.txt │ ├── hours.txt │ ├── images │ │ ├── .keep │ │ ├── boston.jpg │ │ ├── bread-food-plate-toast.jpg │ │ ├── bread-food-restaurant-people.jpg │ │ ├── burger-cheese-food-hamburger.jpg │ │ ├── chicago.jpg │ │ ├── city-restaurant-lunch-outside.jpg │ │ ├── city-restaurant-table-pavement.jpg │ │ ├── coffee-coffee-beans-afternoon-tea-40828.jpeg │ │ ├── coffee-cup-espresso-colorful.jpg │ │ ├── dinner-meal-table-wine.jpg │ │ ├── dinner-table-restaurant-dining-place-setting-51310.jpeg │ │ ├── eating-breakfast-food-dish.jpg │ │ ├── food-dinner-lemon-rice.jpg │ │ ├── food-dinner-steak-fork.jpg │ │ ├── food-healthy-hand-cooking.jpg │ │ ├── food-healthy-soup-leek.jpg │ │ ├── food-plate-restaurant-eating.jpg │ │ ├── food-plate-rucola-salad.jpg │ │ ├── food-plate-toast-restaurant.jpg │ │ ├── food-plate-wood-restaurant.jpg │ │ ├── food-prawn-asian.jpg │ │ ├── food-restaurant-camera-taking-photo.jpg │ │ ├── food-restaurant-eat-snack.jpg │ │ ├── food-restaurant-fruits-orange.jpg │ │ ├── food-restaurant-kitchen-meat-23086.jpg │ │ ├── food-salad-healthy-colorful.jpg │ │ ├── food-salad-healthy-lunch.jpg │ │ ├── food-salad-restaurant-person.jpg │ │ ├── food-vegetables-italian-restaurant.jpg │ │ ├── food.jpg │ │ ├── houston.jpg │ │ ├── italian-pizza-restaurant-italy.jpg │ │ ├── la.jpg │ │ ├── lifestyle-atmosphere-drink-eat-73399.jpeg │ │ ├── menu-restaurant-vintage-table.jpg │ │ ├── miami.jpg │ │ ├── mineral-water-lime-ice-mint-158821.jpeg │ │ ├── new-zealand-lake-mountain-landscape-37650.jpeg │ │ ├── night-76241.jpeg │ │ ├── nyc.jpg │ │ ├── pexels-photo (1).jpg │ │ ├── pexels-photo (2).jpg │ │ ├── pexels-photo (3).jpg │ │ ├── pexels-photo (4).jpg │ │ ├── pexels-photo (5).jpg │ │ ├── pexels-photo (6).jpg │ │ ├── pexels-photo (7).jpg │ │ ├── pexels-photo (8).jpg │ │ ├── pexels-photo-104884.jpeg │ │ ├── pexels-photo-104985.jpeg │ │ ├── pexels-photo-105066.jpeg │ │ ├── pexels-photo-106185.jpeg │ │ ├── pexels-photo-107527.jpeg │ │ ├── pexels-photo-109117.jpeg │ │ ├── pexels-photo-110435.jpeg │ │ ├── pexels-photo-110813.jpeg │ │ ├── pexels-photo-117514.jpeg │ │ ├── pexels-photo-119657.jpeg │ │ ├── pexels-photo-128641.jpeg │ │ ├── pexels-photo-128949.jpeg │ │ ├── pexels-photo-131925.jpeg │ │ ├── pexels-photo-134552.jpeg │ │ ├── pexels-photo-134686.jpeg │ │ ├── pexels-photo-136139.jpeg │ │ ├── pexels-photo-144432.jpeg │ │ ├── pexels-photo-169391.jpeg │ │ ├── pexels-photo-169628.jpeg │ │ ├── pexels-photo-177676.jpeg │ │ ├── pexels-photo-179130.jpeg │ │ ├── pexels-photo-185380.jpeg │ │ ├── pexels-photo-185383.jpeg │ │ ├── pexels-photo-185768.jpeg │ │ ├── pexels-photo-189188.jpeg │ │ ├── pexels-photo-191627.jpeg │ │ ├── pexels-photo-192527.jpeg │ │ ├── pexels-photo-192933.jpeg │ │ ├── pexels-photo-196299.jpeg │ │ ├── pexels-photo-196519.jpeg │ │ ├── pexels-photo-197973.jpeg │ │ ├── pexels-photo-198057.jpeg │ │ ├── pexels-photo-200401.jpeg │ │ ├── pexels-photo-201314.jpeg │ │ ├── pexels-photo-203213.jpeg │ │ ├── pexels-photo-205961.jpeg │ │ ├── pexels-photo-210557.jpeg │ │ ├── pexels-photo-213661.jpeg │ │ ├── pexels-photo-213939.jpeg │ │ ├── pexels-photo-218844.jpeg │ │ ├── pexels-photo-221143.jpeg │ │ ├── pexels-photo-225228.jpeg │ │ ├── pexels-photo-225236.jpeg │ │ ├── pexels-photo-225448.jpeg │ │ ├── pexels-photo-229493.jpeg │ │ ├── pexels-photo-230736.jpeg │ │ ├── pexels-photo-236887.jpeg │ │ ├── pexels-photo-237718.jpeg │ │ ├── pexels-photo-238306.jpeg │ │ ├── pexels-photo-239975.jpeg │ │ ├── pexels-photo-241556.jpeg │ │ ├── pexels-photo-24330.jpg │ │ ├── pexels-photo-24859.jpg │ │ ├── pexels-photo-251288.jpeg │ │ ├── pexels-photo-251599.jpeg │ │ ├── pexels-photo-257248.jpeg │ │ ├── pexels-photo-260771.jpeg │ │ ├── pexels-photo-260922.jpeg │ │ ├── pexels-photo-262918.jpeg │ │ ├── pexels-photo-262945.jpeg │ │ ├── pexels-photo-262946.jpeg │ │ ├── pexels-photo-262982.jpeg │ │ ├── pexels-photo-265903.jpeg │ │ ├── pexels-photo-265920.jpeg │ │ ├── pexels-photo-266174.jpeg │ │ ├── pexels-photo-26646.jpg │ │ ├── pexels-photo-26906.jpg │ │ ├── pexels-photo-269126.jpeg │ │ ├── pexels-photo-26981.jpg │ │ ├── pexels-photo-271475.jpeg │ │ ├── pexels-photo-273765.jpeg │ │ ├── pexels-photo-273920.jpeg │ │ ├── pexels-photo-27445.jpg │ │ ├── pexels-photo-27642.jpg │ │ ├── pexels-photo-276720.jpeg │ │ ├── pexels-photo-279260.jpeg │ │ ├── pexels-photo-279768.jpeg │ │ ├── pexels-photo-279813.jpeg │ │ ├── pexels-photo-279835.jpeg │ │ ├── pexels-photo-280121.jpeg │ │ ├── pexels-photo-286553.jpeg │ │ ├── pexels-photo-287975.jpeg │ │ ├── pexels-photo-290345.jpeg │ │ ├── pexels-photo-29346.jpg │ │ ├── pexels-photo-29612.jpg │ │ ├── pexels-photo-29613.jpg │ │ ├── pexels-photo-29682.jpg │ │ ├── pexels-photo-296888.jpeg │ │ ├── pexels-photo-297756.jpeg │ │ ├── pexels-photo-299347.jpeg │ │ ├── pexels-photo-299348.jpeg │ │ ├── pexels-photo-299351.jpeg │ │ ├── pexels-photo-299458.jpeg │ │ ├── pexels-photo-299550.jpeg │ │ ├── pexels-photo-300256.jpeg │ │ ├── pexels-photo-30227.jpg │ │ ├── pexels-photo-302746.jpeg │ │ ├── pexels-photo-302901.jpeg │ │ ├── pexels-photo-302902.jpeg │ │ ├── pexels-photo-30503.jpg │ │ ├── pexels-photo-305832.jpeg │ │ ├── pexels-photo-305972.jpeg │ │ ├── pexels-photo-306059.jpeg │ │ ├── pexels-photo-30868.jpg │ │ ├── pexels-photo-313700.jpeg │ │ ├── pexels-photo-316909.jpeg │ │ ├── pexels-photo-323910.jpeg │ │ ├── pexels-photo-331107.jpeg │ │ ├── pexels-photo-332784.jpeg │ │ ├── pexels-photo-336872.jpeg │ │ ├── pexels-photo-336930.jpeg │ │ ├── pexels-photo-338624.jpeg │ │ ├── pexels-photo-340996.jpeg │ │ ├── pexels-photo-341044.jpg │ │ ├── pexels-photo-341045.jpg │ │ ├── pexels-photo-341048.jpg │ │ ├── pexels-photo-343870.jpeg │ │ ├── pexels-photo-348517.jpeg │ │ ├── pexels-photo-357809.jpeg │ │ ├── pexels-photo-365459.jpeg │ │ ├── pexels-photo-38083.jpeg │ │ ├── pexels-photo-38106.jpeg │ │ ├── pexels-photo-388240.jpeg │ │ ├── pexels-photo-390658.jpeg │ │ ├── pexels-photo-52065.jpeg │ │ ├── pexels-photo-54296.jpeg │ │ ├── pexels-photo-55588.jpeg │ │ ├── pexels-photo-58801.jpeg │ │ ├── pexels-photo-59782.jpeg │ │ ├── pexels-photo-59943.jpeg │ │ ├── pexels-photo-60166.jpeg │ │ ├── pexels-photo-60257.jpeg │ │ ├── pexels-photo-60258.jpeg │ │ ├── pexels-photo-62097.jpeg │ │ ├── pexels-photo-64208.jpeg │ │ ├── pexels-photo-65123.jpeg │ │ ├── pexels-photo-66636.jpeg │ │ ├── pexels-photo-66637.jpeg │ │ ├── pexels-photo-66640.jpeg │ │ ├── pexels-photo-67468.jpeg │ │ ├── pexels-photo-68563.jpeg │ │ ├── pexels-photo-69482.jpeg │ │ ├── pexels-photo-69898.jpeg │ │ ├── pexels-photo-8298.jpg │ │ ├── pexels-photo-87224.jpeg │ │ ├── pexels-photo-90736.jpeg │ │ ├── pexels-photo-92090.jpeg │ │ ├── pexels-photo-92945.jpeg │ │ ├── pexels-photo-96619.jpeg │ │ ├── pexels-photo-99590.jpeg │ │ ├── pexels-photo.jpg │ │ ├── pizza-pizza-service-italian-eat-56014.jpeg │ │ ├── plate-white-fish-chilli.jpg │ │ ├── red-couple-night-romantic.jpg │ │ ├── red-lunch-green-knolling.jpg │ │ ├── restaurant-alcohol-bar-drinks.jpg │ │ ├── restaurant-building-urban-architecture-78086.jpeg │ │ ├── restaurant-coffee-chocolate-dessert.jpg │ │ ├── restaurant-coffee-cup-cappuccino (1).jpg │ │ ├── restaurant-coffee-cup-cappuccino.jpg │ │ ├── restaurant-coffee-cup-table.jpg │ │ ├── restaurant-drink-colorful-colourful.jpg │ │ ├── restaurant-glass-wine-glasses.jpg │ │ ├── restaurant-lighting-lobster-neon.jpg │ │ ├── restaurant-people-alcohol-bar.jpg │ │ ├── restaurant-people-feet-legs.jpg │ │ ├── restaurant-person-people-hand.jpg │ │ ├── restaurant-red-beans-coffee.jpg │ │ ├── restaurant-sidewalk-boardwalk-cafe.jpg │ │ ├── restaurant-street-bricks-house.jpg │ │ ├── restaurant-village-germany-chairs.jpg │ │ ├── restaurant-wine-glasses-served-51115.jpeg │ │ ├── restaurant.jpg │ │ ├── salad-healthy-diet-spinach.jpg │ │ ├── seattle.jpg │ │ ├── snow-restaurant-mountains-sky.jpg │ │ ├── spl1.jpg │ │ ├── spl2.jpg │ │ ├── spl3.jpg │ │ ├── table-covered-glass-cutlery-128875.jpeg │ │ ├── vegetables-italian-pizza-restaurant (1).jpg │ │ ├── vegetables-italian-pizza-restaurant.jpg │ │ ├── water-drink-glass-drinking.jpg │ │ └── wine.png │ ├── javascripts │ │ ├── api │ │ │ ├── cities.coffee │ │ │ ├── favorites.coffee │ │ │ ├── hours.coffee │ │ │ ├── reservations.coffee │ │ │ ├── restaurant.coffee │ │ │ ├── restaurants.coffee │ │ │ ├── reviews.coffee │ │ │ ├── seatings.coffee │ │ │ ├── sessions.coffee │ │ │ └── users.coffee │ │ ├── application.js │ │ ├── static_pages.coffee │ │ └── staticpages.coffee │ ├── reviews.txt │ └── stylesheets │ │ ├── _create.css │ │ ├── _css_reset.css │ │ ├── _form.css │ │ ├── _map.css │ │ ├── _navbar.css │ │ ├── api │ │ ├── _city.css │ │ ├── _review-form.css │ │ ├── _review_snippet.css │ │ ├── _snippet.css │ │ ├── cities.scss │ │ ├── favorite.css │ │ ├── favorites.scss │ │ ├── filter.css │ │ ├── hours.scss │ │ ├── manager.css │ │ ├── modal.css │ │ ├── photos-section.css │ │ ├── reservations.scss │ │ ├── restaurants.scss │ │ ├── reviews.scss │ │ ├── search-bar.css │ │ ├── seatings.scss │ │ ├── sessions.scss │ │ └── users.scss │ │ ├── application.css │ │ ├── footer.css │ │ ├── spinner.css │ │ ├── static_pages.scss │ │ └── staticpages.scss ├── controllers │ ├── api │ │ ├── cities_controller.rb │ │ ├── favorites_controller.rb │ │ ├── hours_controller.rb │ │ ├── manager_controller.rb │ │ ├── reservations_controller.rb │ │ ├── restaurants_controller.rb │ │ ├── reviews_controller.rb │ │ ├── seatings_controller.rb │ │ ├── sessions_controller.rb │ │ └── users_controller.rb │ ├── application_controller.rb │ ├── concerns │ │ └── .keep │ └── static_pages_controller.rb ├── helpers │ ├── api │ │ ├── cities_helper.rb │ │ ├── favorites_helper.rb │ │ ├── hours_helper.rb │ │ ├── reservations_helper.rb │ │ ├── restaurant_helper.rb │ │ ├── restaurants_helper.rb │ │ ├── reviews_helper.rb │ │ ├── seatings_helper.rb │ │ ├── sessions_helper.rb │ │ └── users_helper.rb │ ├── application_helper.rb │ ├── static_pages_helper.rb │ └── staticpages_helper.rb ├── mailers │ └── .keep ├── models │ ├── .keep │ ├── city.rb │ ├── concerns │ │ └── .keep │ ├── favorite.rb │ ├── hour.rb │ ├── photo.rb │ ├── rating.rb │ ├── reservation.rb │ ├── restaurant.rb │ ├── review.rb │ ├── seating.rb │ └── user.rb └── views │ ├── api │ ├── cities │ │ ├── index.json.jbuilder │ │ └── show.json.jbuilder │ ├── favorites │ │ ├── _show.json.jbuilder │ │ └── show.json.jbuilder │ ├── hours │ │ └── show.json.jbuilder │ ├── manager │ │ └── show.json.jbuilder │ ├── reservations │ │ ├── _show.json.jbuilder │ │ ├── index.json.jbuilder │ │ ├── search.json.jbuilder │ │ └── show.json.jbuilder │ ├── restaurants │ │ ├── _show.json.jbuilder │ │ ├── index.json.jbuilder │ │ ├── search.json.jbuilder │ │ ├── show.json.jbuilder │ │ └── update.json.jbuilder │ ├── reviews │ │ ├── index.json.jbuilder │ │ └── show.json.jbuilder │ ├── seatings │ │ ├── search.json.jbuilder │ │ └── show.json.jbuilder │ ├── sessions │ │ ├── _show.json.jbuilder │ │ └── show.json.jbuilder │ └── users │ │ └── show.json.jbuilder │ ├── layouts │ └── application.html.erb │ └── static_pages │ └── root.html.erb ├── bin ├── bundle ├── rails ├── rake ├── setup └── spring ├── config.ru ├── config ├── application.rb ├── boot.rb ├── database.yml ├── environment.rb ├── environments │ ├── development.rb │ ├── production.rb │ └── test.rb ├── initializers │ ├── assets.rb │ ├── backtrace_silencers.rb │ ├── cookies_serializer.rb │ ├── filter_parameter_logging.rb │ ├── inflections.rb │ ├── mime_types.rb │ ├── session_store.rb │ └── wrap_parameters.rb ├── locales │ └── en.yml ├── routes.rb └── secrets.yml ├── db ├── migrate │ ├── 20170418154103_create_users.rb │ ├── 20170420183553_create_restaurants.rb │ ├── 20170421172213_change_restaurant_description.rb │ ├── 20170421204517_change_restaurant_locations.rb │ ├── 20170422015529_create_cities.rb │ ├── 20170422155415_add_attachment_main_to_cities.rb │ ├── 20170422162826_remove_main_photo.rb │ ├── 20170423004640_create_photos.rb │ ├── 20170423004952_add_attachment_image_to_photos.rb │ ├── 20170423160955_add_zip_code.rb │ ├── 20170423185958_add_state_to_city.rb │ ├── 20170424150724_add_city_key_to_restaurants.rb │ ├── 20170424160012_change_city_name.rb │ ├── 20170428131133_create_reservations.rb │ ├── 20170428134339_change_seats_column.rb │ ├── 20170501225025_create_reviews.rb │ ├── 20170514222808_create_ratings.rb │ ├── 20170514223610_add_total_to_rating.rb │ ├── 20170517141246_fix_null_constraint_for_restaurant.rb │ ├── 20170517223455_create_favorites.rb │ ├── 20170911205416_add_location_to_city.rb │ ├── 20170925192045_refactor_city_name.rb │ ├── 20170925212533_rename_restaurant_columns.rb │ ├── 20170926192135_change_cities_latlng.rb │ ├── 20171031220719_create_hours.rb │ ├── 20171031221001_create_seatings.rb │ ├── 20171031221811_remove_hours_from_restaurant.rb │ ├── 20171031224113_change_seats_to_seatings_foreign_key.rb │ └── 20171202001715_add_seats_to_reservations.rb ├── schema.rb └── seeds.rb ├── docs ├── README.md ├── Wireframes │ ├── Available-reservations.png │ ├── Create-account-form.png │ ├── Favorites.png │ ├── Featured-location.png │ ├── Home.png │ ├── Navbar.png │ ├── Recommendations.png │ ├── Reservation-bar.png │ ├── Restaurant-view.png │ ├── Reviews.png │ ├── Sign-in-form.png │ └── User-reservations.png ├── api-endpoints.md ├── react-components.md ├── sample-state.md └── schema.md ├── frontend ├── actions │ ├── city_actions.js │ ├── favorites_actions.js │ ├── hours_actions.js │ ├── manager_actions.js │ ├── map_actions.js │ ├── modal_actions.js │ ├── reservations_actions.js │ ├── restaurant_actions.js │ ├── review_actions.js │ ├── search_actions.js │ ├── seating_actions.js │ ├── session_actions.js │ └── user_actions.js ├── components │ ├── app.jsx │ ├── city │ │ ├── city_index.jsx │ │ └── city_show.jsx │ ├── favorite │ │ └── favorite_box.jsx │ ├── manager │ │ ├── add_table.jsx │ │ ├── field.jsx │ │ ├── manager.jsx │ │ ├── manager_details.jsx │ │ ├── manager_hours.jsx │ │ ├── manager_li.jsx │ │ ├── manager_reservations.jsx │ │ ├── manager_reviews.jsx │ │ ├── manager_seats.jsx │ │ └── manager_side_bar.jsx │ ├── modal.jsx │ ├── navbar.jsx │ ├── restaurant │ │ ├── create_splash.jsx │ │ ├── photo_section.jsx │ │ ├── reservations.jsx │ │ ├── restaurant_create.jsx │ │ ├── restaurant_map.jsx │ │ ├── restaurant_show.jsx │ │ └── restaurant_snippet.jsx │ ├── review │ │ ├── review_form.jsx │ │ ├── review_snippet.jsx │ │ └── thank_you.jsx │ ├── root.jsx │ ├── search │ │ ├── date_bar.jsx │ │ ├── search_bar.jsx │ │ ├── search_box.jsx │ │ ├── seat_bar.jsx │ │ └── time_bar.jsx │ ├── session │ │ ├── session_form.jsx │ │ └── session_form_container.js │ └── user │ │ └── user_show.jsx ├── reducers │ ├── cities_reducer.js │ ├── favorites_reducer.js │ ├── hours_reducer.js │ ├── manager_reducer.js │ ├── modal_reducer.js │ ├── reservations_reducer.js │ ├── restaurants_reducer.js │ ├── reviews_reducer.js │ ├── root_reducer.js │ ├── search_reducer.js │ ├── seatings_reducer.js │ ├── session_reducer.js │ └── users_reducer.js ├── root.jsx ├── selectors │ ├── date_selectors.js │ ├── favorites_selector.js │ ├── manager_selectors.js │ ├── reservations_selectors.js │ ├── review_selectors.js │ ├── search_selector.js │ └── seatings_selectors.js ├── store │ └── store.js └── util │ ├── city_api_util.js │ ├── date_util.js │ ├── favorites_util.js │ ├── hours_api_util.js │ ├── manager_api_util.js │ ├── manager_util.jsx │ ├── map_util.js │ ├── reservations_api_util.js │ ├── restaurant_api_util.js │ ├── review_api_util.js │ ├── search_api_util.js │ ├── search_util.jsx │ ├── seatings_api_util.js │ ├── session_api_util.js │ └── user_api_util.js ├── lib ├── assets │ └── .keep └── tasks │ └── .keep ├── log └── .keep ├── package.json ├── public ├── 404.html ├── 422.html ├── 500.html ├── favicon.ico ├── images │ ├── hello-table-full.png │ ├── logo-3.png │ ├── red-wine.png │ ├── restaurant-show.png │ ├── spl1.jpg │ ├── spl2.jpg │ ├── spl3.jpg │ └── user-show.png └── robots.txt ├── test ├── controllers │ ├── .keep │ ├── api │ │ ├── cities_controller_test.rb │ │ ├── favorites_controller_test.rb │ │ ├── hours_controller_test.rb │ │ ├── reservations_controller_test.rb │ │ ├── restaurant_controller_test.rb │ │ ├── restaurants_controller_test.rb │ │ ├── reviews_controller_test.rb │ │ ├── seatings_controller_test.rb │ │ ├── sessions_controller_test.rb │ │ └── users_controller_test.rb │ ├── static_pages_controller_test.rb │ └── staticpages_controller_test.rb ├── fixtures │ ├── .keep │ ├── cities.yml │ ├── favorites.yml │ ├── hours.yml │ ├── photos.yml │ ├── ratings.yml │ ├── reservations.yml │ ├── restaurants.yml │ ├── reviews.yml │ ├── seatings.yml │ └── users.yml ├── helpers │ └── .keep ├── integration │ └── .keep ├── mailers │ └── .keep ├── models │ ├── .keep │ ├── city_test.rb │ ├── favorite_test.rb │ ├── hour_test.rb │ ├── photo_test.rb │ ├── rating_test.rb │ ├── reservation_test.rb │ ├── restaurant_test.rb │ ├── review_test.rb │ ├── seating_test.rb │ └── user_test.rb └── test_helper.rb ├── vendor └── assets │ ├── javascripts │ └── .keep │ └── stylesheets │ └── .keep └── webpack.config.js /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files for more about ignoring files. 2 | # 3 | # If you find yourself ignoring temporary files generated by your text editor 4 | # or operating system, you probably want to add a global ignore instead: 5 | # git config --global core.excludesfile '~/.gitignore_global' 6 | 7 | # Ignore bundler config. 8 | /.bundle 9 | 10 | # Ignore all logfiles and tempfiles. 11 | /log/* 12 | !/log/.keep 13 | /tmp 14 | node_modules/ 15 | bundle.js 16 | bundle.js.map 17 | .byebug_history 18 | .DS_Store 19 | npm-debug.log 20 | 21 | # Ignore application configuration 22 | /config/application.yml 23 | -------------------------------------------------------------------------------- /README.rdoc: -------------------------------------------------------------------------------- 1 | == README 2 | 3 | This README would normally document whatever steps are necessary to get the 4 | application up and running. 5 | 6 | Things you may want to cover: 7 | 8 | * Ruby version 9 | 10 | * System dependencies 11 | 12 | * Configuration 13 | 14 | * Database creation 15 | 16 | * Database initialization 17 | 18 | * How to run the test suite 19 | 20 | * Services (job queues, cache servers, search engines, etc.) 21 | 22 | * Deployment instructions 23 | 24 | * ... 25 | 26 | 27 | Please feel free to use a different markup language if you do not plan to run 28 | rake doc:app. 29 | -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | # Add your own tasks in files placed in lib/tasks ending in .rake, 2 | # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. 3 | 4 | require File.expand_path('../config/application', __FILE__) 5 | 6 | Rails.application.load_tasks 7 | -------------------------------------------------------------------------------- /app/assets/cuisine.txt: -------------------------------------------------------------------------------- 1 | Pizza 2 | Latin American 3 | Greek 4 | Bakery 5 | Modern American 6 | Kosher 7 | American 8 | Tapas 9 | Brazilian 10 | Sandwiches/Subs 11 | Mediterranean 12 | Diner 13 | Pakistani 14 | French 15 | Salads 16 | Donuts 17 | Vietnamese 18 | Japanese 19 | Seafood 20 | Tex-Mex 21 | Desserts/Ice Cream 22 | Cuban 23 | Tacos 24 | Soups 25 | Middle Eastern 26 | Mexican 27 | Steakhouse 28 | Indian 29 | English/Irish 30 | Buffet 31 | Hot Dogs/Sausages 32 | Dim Sum 33 | Chicken 34 | European 35 | Eastern European 36 | Asian 37 | Chinese 38 | Pub Food 39 | Organic 40 | Coffee 41 | Burgers 42 | Wine Bar 43 | Peruvian 44 | Sushi 45 | Tea 46 | Thai 47 | Spanish 48 | Vegetarian 49 | Bagels 50 | Smoothies 51 | Fast Food 52 | Noodle Shop 53 | Southern/Soul 54 | Italian 55 | Barbecue 56 | Delicatessen 57 | International 58 | Caribbean 59 | Breakfast/Brunch 60 | Turkish 61 | African 62 | Korean 63 | Gastropub 64 | German 65 | -------------------------------------------------------------------------------- /app/assets/hours.txt: -------------------------------------------------------------------------------- 1 | Mon Closed, Tue 11:30 am - 10:00 pm, Wed 11:30 am - 10:00 pm, Thu 11:30 am - 10:00 pm, Fri 11:30 am - 10:00 pm, Sat 11:30 am - 10:00 pm, Sun 11:30 am - 9:00 pm 2 | Mon 11:00 am - 10:30 pm, Tue 11:00 am - 10:30 pm, Wed 11:00 am - 10:30 pm, Thu 11:00 am - 10:30 pm, Fri 11:00 am - 11:30 pm, Sat 10:30 am - 11:30 pm, Sun 10:30 am - 10:00 pm 3 | Mon 5:30 pm - 10:30 pm, Tue Closed, Wed 5:30 pm - 10:30 pm, Thu 5:30 pm - 10:30 pm, Fri 5:30 pm - 10:30 pm, Sat 5:30 pm - 10:30 pm, Sun 11:00 am - 3:00 pm 4 | Mon 12:00 pm - 10:00 pm, Tue 12:00 pm - 10:00 pm, Wed 12:00 pm - 10:00 pm, Thu 12:00 pm - 10:00 pm, Fri 12:00 pm - 10:00 pm, Sat 12:00 pm - 10:00 pm, Sun 12:00 pm - 10:00 pm 5 | Mon Closed, Tue 4:00 pm - 12:00 am, Wed 4:00 pm - 12:00 am, Thu 4:00 pm - 12:00 am, Fri 4:00 pm - 1:00 am, Sat 2:00 pm - 1:00 am, Sun 11:00 am - 3:30 pm 6 | Mon 1:00 pm - 2:00 am, Tue 1:00 pm - 2:00 am, Wed 1:00 pm - 2:00 am, Thu 1:00 pm - 2:00 am, Fri 1:00 pm - 2:00 am, Sat 1:00 pm - 2:00 am, Sun 1:00 pm - 2:00 am 7 | -------------------------------------------------------------------------------- /app/assets/images/.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/.keep -------------------------------------------------------------------------------- /app/assets/images/boston.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/boston.jpg -------------------------------------------------------------------------------- /app/assets/images/bread-food-plate-toast.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/bread-food-plate-toast.jpg -------------------------------------------------------------------------------- /app/assets/images/bread-food-restaurant-people.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/bread-food-restaurant-people.jpg -------------------------------------------------------------------------------- /app/assets/images/burger-cheese-food-hamburger.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/burger-cheese-food-hamburger.jpg -------------------------------------------------------------------------------- /app/assets/images/chicago.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/chicago.jpg -------------------------------------------------------------------------------- /app/assets/images/city-restaurant-lunch-outside.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/city-restaurant-lunch-outside.jpg -------------------------------------------------------------------------------- /app/assets/images/city-restaurant-table-pavement.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/city-restaurant-table-pavement.jpg -------------------------------------------------------------------------------- /app/assets/images/coffee-coffee-beans-afternoon-tea-40828.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/coffee-coffee-beans-afternoon-tea-40828.jpeg -------------------------------------------------------------------------------- /app/assets/images/coffee-cup-espresso-colorful.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/coffee-cup-espresso-colorful.jpg -------------------------------------------------------------------------------- /app/assets/images/dinner-meal-table-wine.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/dinner-meal-table-wine.jpg -------------------------------------------------------------------------------- /app/assets/images/dinner-table-restaurant-dining-place-setting-51310.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/dinner-table-restaurant-dining-place-setting-51310.jpeg -------------------------------------------------------------------------------- /app/assets/images/eating-breakfast-food-dish.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/eating-breakfast-food-dish.jpg -------------------------------------------------------------------------------- /app/assets/images/food-dinner-lemon-rice.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/food-dinner-lemon-rice.jpg -------------------------------------------------------------------------------- /app/assets/images/food-dinner-steak-fork.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/food-dinner-steak-fork.jpg -------------------------------------------------------------------------------- /app/assets/images/food-healthy-hand-cooking.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/food-healthy-hand-cooking.jpg -------------------------------------------------------------------------------- /app/assets/images/food-healthy-soup-leek.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/food-healthy-soup-leek.jpg -------------------------------------------------------------------------------- /app/assets/images/food-plate-restaurant-eating.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/food-plate-restaurant-eating.jpg -------------------------------------------------------------------------------- /app/assets/images/food-plate-rucola-salad.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/food-plate-rucola-salad.jpg -------------------------------------------------------------------------------- /app/assets/images/food-plate-toast-restaurant.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/food-plate-toast-restaurant.jpg -------------------------------------------------------------------------------- /app/assets/images/food-plate-wood-restaurant.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/food-plate-wood-restaurant.jpg -------------------------------------------------------------------------------- /app/assets/images/food-prawn-asian.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/food-prawn-asian.jpg -------------------------------------------------------------------------------- /app/assets/images/food-restaurant-camera-taking-photo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/food-restaurant-camera-taking-photo.jpg -------------------------------------------------------------------------------- /app/assets/images/food-restaurant-eat-snack.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/food-restaurant-eat-snack.jpg -------------------------------------------------------------------------------- /app/assets/images/food-restaurant-fruits-orange.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/food-restaurant-fruits-orange.jpg -------------------------------------------------------------------------------- /app/assets/images/food-restaurant-kitchen-meat-23086.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/food-restaurant-kitchen-meat-23086.jpg -------------------------------------------------------------------------------- /app/assets/images/food-salad-healthy-colorful.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/food-salad-healthy-colorful.jpg -------------------------------------------------------------------------------- /app/assets/images/food-salad-healthy-lunch.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/food-salad-healthy-lunch.jpg -------------------------------------------------------------------------------- /app/assets/images/food-salad-restaurant-person.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/food-salad-restaurant-person.jpg -------------------------------------------------------------------------------- /app/assets/images/food-vegetables-italian-restaurant.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/food-vegetables-italian-restaurant.jpg -------------------------------------------------------------------------------- /app/assets/images/food.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/food.jpg -------------------------------------------------------------------------------- /app/assets/images/houston.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/houston.jpg -------------------------------------------------------------------------------- /app/assets/images/italian-pizza-restaurant-italy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/italian-pizza-restaurant-italy.jpg -------------------------------------------------------------------------------- /app/assets/images/la.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/la.jpg -------------------------------------------------------------------------------- /app/assets/images/lifestyle-atmosphere-drink-eat-73399.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/lifestyle-atmosphere-drink-eat-73399.jpeg -------------------------------------------------------------------------------- /app/assets/images/menu-restaurant-vintage-table.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/menu-restaurant-vintage-table.jpg -------------------------------------------------------------------------------- /app/assets/images/miami.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/miami.jpg -------------------------------------------------------------------------------- /app/assets/images/mineral-water-lime-ice-mint-158821.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/mineral-water-lime-ice-mint-158821.jpeg -------------------------------------------------------------------------------- /app/assets/images/new-zealand-lake-mountain-landscape-37650.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/new-zealand-lake-mountain-landscape-37650.jpeg -------------------------------------------------------------------------------- /app/assets/images/night-76241.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/night-76241.jpeg -------------------------------------------------------------------------------- /app/assets/images/nyc.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/nyc.jpg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo (1).jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo (1).jpg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo (2).jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo (2).jpg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo (3).jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo (3).jpg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo (4).jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo (4).jpg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo (5).jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo (5).jpg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo (6).jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo (6).jpg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo (7).jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo (7).jpg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo (8).jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo (8).jpg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-104884.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-104884.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-104985.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-104985.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-105066.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-105066.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-106185.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-106185.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-107527.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-107527.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-109117.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-109117.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-110435.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-110435.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-110813.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-110813.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-117514.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-117514.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-119657.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-119657.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-128641.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-128641.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-128949.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-128949.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-131925.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-131925.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-134552.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-134552.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-134686.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-134686.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-136139.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-136139.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-144432.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-144432.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-169391.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-169391.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-169628.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-169628.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-177676.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-177676.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-179130.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-179130.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-185380.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-185380.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-185383.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-185383.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-185768.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-185768.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-189188.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-189188.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-191627.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-191627.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-192527.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-192527.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-192933.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-192933.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-196299.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-196299.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-196519.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-196519.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-197973.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-197973.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-198057.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-198057.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-200401.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-200401.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-201314.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-201314.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-203213.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-203213.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-205961.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-205961.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-210557.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-210557.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-213661.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-213661.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-213939.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-213939.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-218844.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-218844.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-221143.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-221143.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-225228.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-225228.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-225236.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-225236.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-225448.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-225448.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-229493.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-229493.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-230736.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-230736.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-236887.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-236887.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-237718.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-237718.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-238306.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-238306.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-239975.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-239975.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-241556.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-241556.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-24330.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-24330.jpg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-24859.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-24859.jpg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-251288.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-251288.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-251599.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-251599.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-257248.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-257248.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-260771.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-260771.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-260922.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-260922.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-262918.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-262918.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-262945.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-262945.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-262946.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-262946.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-262982.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-262982.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-265903.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-265903.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-265920.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-265920.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-266174.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-266174.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-26646.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-26646.jpg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-26906.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-26906.jpg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-269126.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-269126.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-26981.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-26981.jpg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-271475.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-271475.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-273765.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-273765.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-273920.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-273920.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-27445.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-27445.jpg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-27642.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-27642.jpg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-276720.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-276720.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-279260.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-279260.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-279768.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-279768.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-279813.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-279813.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-279835.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-279835.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-280121.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-280121.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-286553.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-286553.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-287975.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-287975.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-290345.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-290345.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-29346.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-29346.jpg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-29612.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-29612.jpg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-29613.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-29613.jpg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-29682.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-29682.jpg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-296888.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-296888.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-297756.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-297756.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-299347.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-299347.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-299348.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-299348.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-299351.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-299351.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-299458.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-299458.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-299550.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-299550.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-300256.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-300256.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-30227.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-30227.jpg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-302746.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-302746.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-302901.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-302901.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-302902.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-302902.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-30503.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-30503.jpg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-305832.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-305832.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-305972.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-305972.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-306059.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-306059.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-30868.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-30868.jpg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-313700.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-313700.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-316909.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-316909.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-323910.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-323910.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-331107.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-331107.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-332784.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-332784.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-336872.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-336872.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-336930.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-336930.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-338624.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-338624.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-340996.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-340996.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-341044.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-341044.jpg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-341045.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-341045.jpg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-341048.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-341048.jpg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-343870.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-343870.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-348517.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-348517.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-357809.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-357809.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-365459.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-365459.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-38083.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-38083.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-38106.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-38106.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-388240.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-388240.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-390658.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-390658.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-52065.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-52065.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-54296.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-54296.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-55588.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-55588.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-58801.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-58801.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-59782.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-59782.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-59943.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-59943.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-60166.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-60166.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-60257.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-60257.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-60258.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-60258.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-62097.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-62097.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-64208.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-64208.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-65123.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-65123.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-66636.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-66636.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-66637.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-66637.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-66640.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-66640.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-67468.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-67468.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-68563.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-68563.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-69482.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-69482.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-69898.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-69898.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-8298.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-8298.jpg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-87224.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-87224.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-90736.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-90736.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-92090.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-92090.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-92945.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-92945.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-96619.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-96619.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo-99590.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo-99590.jpeg -------------------------------------------------------------------------------- /app/assets/images/pexels-photo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pexels-photo.jpg -------------------------------------------------------------------------------- /app/assets/images/pizza-pizza-service-italian-eat-56014.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/pizza-pizza-service-italian-eat-56014.jpeg -------------------------------------------------------------------------------- /app/assets/images/plate-white-fish-chilli.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/plate-white-fish-chilli.jpg -------------------------------------------------------------------------------- /app/assets/images/red-couple-night-romantic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/red-couple-night-romantic.jpg -------------------------------------------------------------------------------- /app/assets/images/red-lunch-green-knolling.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/red-lunch-green-knolling.jpg -------------------------------------------------------------------------------- /app/assets/images/restaurant-alcohol-bar-drinks.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/restaurant-alcohol-bar-drinks.jpg -------------------------------------------------------------------------------- /app/assets/images/restaurant-building-urban-architecture-78086.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/restaurant-building-urban-architecture-78086.jpeg -------------------------------------------------------------------------------- /app/assets/images/restaurant-coffee-chocolate-dessert.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/restaurant-coffee-chocolate-dessert.jpg -------------------------------------------------------------------------------- /app/assets/images/restaurant-coffee-cup-cappuccino (1).jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/restaurant-coffee-cup-cappuccino (1).jpg -------------------------------------------------------------------------------- /app/assets/images/restaurant-coffee-cup-cappuccino.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/restaurant-coffee-cup-cappuccino.jpg -------------------------------------------------------------------------------- /app/assets/images/restaurant-coffee-cup-table.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/restaurant-coffee-cup-table.jpg -------------------------------------------------------------------------------- /app/assets/images/restaurant-drink-colorful-colourful.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/restaurant-drink-colorful-colourful.jpg -------------------------------------------------------------------------------- /app/assets/images/restaurant-glass-wine-glasses.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/restaurant-glass-wine-glasses.jpg -------------------------------------------------------------------------------- /app/assets/images/restaurant-lighting-lobster-neon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/restaurant-lighting-lobster-neon.jpg -------------------------------------------------------------------------------- /app/assets/images/restaurant-people-alcohol-bar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/restaurant-people-alcohol-bar.jpg -------------------------------------------------------------------------------- /app/assets/images/restaurant-people-feet-legs.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/restaurant-people-feet-legs.jpg -------------------------------------------------------------------------------- /app/assets/images/restaurant-person-people-hand.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/restaurant-person-people-hand.jpg -------------------------------------------------------------------------------- /app/assets/images/restaurant-red-beans-coffee.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/restaurant-red-beans-coffee.jpg -------------------------------------------------------------------------------- /app/assets/images/restaurant-sidewalk-boardwalk-cafe.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/restaurant-sidewalk-boardwalk-cafe.jpg -------------------------------------------------------------------------------- /app/assets/images/restaurant-street-bricks-house.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/restaurant-street-bricks-house.jpg -------------------------------------------------------------------------------- /app/assets/images/restaurant-village-germany-chairs.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/restaurant-village-germany-chairs.jpg -------------------------------------------------------------------------------- /app/assets/images/restaurant-wine-glasses-served-51115.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/restaurant-wine-glasses-served-51115.jpeg -------------------------------------------------------------------------------- /app/assets/images/restaurant.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/restaurant.jpg -------------------------------------------------------------------------------- /app/assets/images/salad-healthy-diet-spinach.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/salad-healthy-diet-spinach.jpg -------------------------------------------------------------------------------- /app/assets/images/seattle.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/seattle.jpg -------------------------------------------------------------------------------- /app/assets/images/snow-restaurant-mountains-sky.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/snow-restaurant-mountains-sky.jpg -------------------------------------------------------------------------------- /app/assets/images/spl1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/spl1.jpg -------------------------------------------------------------------------------- /app/assets/images/spl2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/spl2.jpg -------------------------------------------------------------------------------- /app/assets/images/spl3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/spl3.jpg -------------------------------------------------------------------------------- /app/assets/images/table-covered-glass-cutlery-128875.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/table-covered-glass-cutlery-128875.jpeg -------------------------------------------------------------------------------- /app/assets/images/vegetables-italian-pizza-restaurant (1).jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/vegetables-italian-pizza-restaurant (1).jpg -------------------------------------------------------------------------------- /app/assets/images/vegetables-italian-pizza-restaurant.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/vegetables-italian-pizza-restaurant.jpg -------------------------------------------------------------------------------- /app/assets/images/water-drink-glass-drinking.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/water-drink-glass-drinking.jpg -------------------------------------------------------------------------------- /app/assets/images/wine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/assets/images/wine.png -------------------------------------------------------------------------------- /app/assets/javascripts/api/cities.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/api/favorites.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/api/hours.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/api/reservations.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/api/restaurant.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/api/restaurants.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/api/reviews.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/api/seatings.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/api/sessions.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/api/users.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/application.js: -------------------------------------------------------------------------------- 1 | // This is a manifest file that'll be compiled into application.js, which will include all the files 2 | // listed below. 3 | // 4 | // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, 5 | // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path. 6 | // 7 | // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the 8 | // compiled file. 9 | // 10 | // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details 11 | // about supported directives. 12 | // 13 | //= require jquery 14 | //= require jquery_ujs 15 | //= require_tree . 16 | -------------------------------------------------------------------------------- /app/assets/javascripts/static_pages.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/staticpages.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/_css_reset.css: -------------------------------------------------------------------------------- 1 | body, main, div, section, a, input, li { 2 | margin: 0; 3 | padding: 0; 4 | border: 0; 5 | outline: 0; 6 | font: inherit; 7 | color: inherit; 8 | text-align: inherit; 9 | text-decoration: inherit; 10 | vertical-align: inherit; 11 | box-sizing: border-box; 12 | background: transparent; 13 | opacity: inherit; 14 | } 15 | 16 | main, section, div, footer { 17 | display: block; 18 | } 19 | 20 | ul { 21 | list-style: none; 22 | padding: 0; 23 | margin: 0; 24 | } 25 | 26 | a { 27 | text-decoration: none; 28 | } 29 | 30 | html { 31 | height: 100%; 32 | width: 100%; 33 | } 34 | 35 | body { 36 | background-color: whitesmoke; 37 | font-family: 'Open Sans', sans-serif; 38 | height: 100%; 39 | width: 100%; 40 | } 41 | 42 | #root { 43 | height: 100%; 44 | width: 100%; 45 | } 46 | 47 | .main-app { 48 | position: relative; 49 | height: 100%; 50 | width: 100%; 51 | } 52 | 53 | .group:after { 54 | content: ""; 55 | display: block; 56 | clear: both; 57 | } 58 | 59 | .errors { 60 | color: red; 61 | } 62 | 63 | #hidden { 64 | display: none; 65 | } 66 | -------------------------------------------------------------------------------- /app/assets/stylesheets/_map.css: -------------------------------------------------------------------------------- 1 | #map { 2 | max-width: 100%; 3 | height: 300px; 4 | } 5 | -------------------------------------------------------------------------------- /app/assets/stylesheets/api/_city.css: -------------------------------------------------------------------------------- 1 | .restaurants-index { 2 | display: flex; 3 | flex-direction: column; 4 | align-items: center; 5 | } 6 | 7 | .restaurants-index-splash { 8 | width: 100%; 9 | background-size: cover; 10 | height: 350px; 11 | background-image: url('/images/spl1.jpg'); 12 | background-position: center; 13 | display: flex; 14 | flex-direction: column; 15 | justify-content: flex-end; 16 | align-items: center; 17 | padding-bottom: 30px; 18 | } 19 | 20 | .restaurant-snippets { 21 | background: white; 22 | width: 80%; 23 | margin: 30px 0px; 24 | padding-bottom: 15px; 25 | border-bottom: 1px solid grey; 26 | border-radius: 7px; 27 | } 28 | 29 | .restaurants-index .search-bar { 30 | background: transparent; 31 | border:none; 32 | } 33 | 34 | .restaurants-index .seats-form { 35 | border: none; 36 | } 37 | 38 | .city-index-splash .search-bar { 39 | position: absolute; 40 | top: 70%; 41 | } 42 | 43 | .city-index-splash .restaurants-index-splash { 44 | position: relative; 45 | background-image: url('/images/spl3.jpg'); 46 | } 47 | -------------------------------------------------------------------------------- /app/assets/stylesheets/api/_review-form.css: -------------------------------------------------------------------------------- 1 | .review-form-container { 2 | position: absolute; 3 | z-index: 1; 4 | left: 30%; 5 | width: 40%; 6 | height: 40%; 7 | background: white; 8 | border-radius: 7px; 9 | border-bottom: 1px solid gainsboro; 10 | display: flex; 11 | flex-direction: column; 12 | justify-content: center; 13 | } 14 | 15 | .review-rating { 16 | flex: 5; 17 | display: flex; 18 | flex-direction: column; 19 | justify-content: center; 20 | } 21 | 22 | .overall-stars { 23 | display: flex; 24 | flex: 1; 25 | justify-content: flex-start; 26 | align-items: center; 27 | margin-left: 10px; 28 | font-size: 12px; 29 | color: gray; 30 | } 31 | 32 | .overall-stars h4 { 33 | vertical-align: middle; 34 | margin-right: 10px; 35 | } 36 | 37 | .rating-drop-section { 38 | flex: 1; 39 | display: flex; 40 | justify-content: space-between; 41 | margin: 5px; 42 | margin-left: 10px; 43 | } 44 | 45 | .rating-drop { 46 | display: inline-block; 47 | flex: 1; 48 | margin: 5px; 49 | } 50 | 51 | .review-form { 52 | display: flex; 53 | flex: 9; 54 | flex-direction: column; 55 | justify-content: center; 56 | } 57 | 58 | .review-details { 59 | align-self: center; 60 | height: 60%; 61 | width: 90%; 62 | resize: none; 63 | } 64 | 65 | .review-form .button { 66 | margin-top: 10px; 67 | } 68 | 69 | .thank-you-container { 70 | color: dimgray; 71 | justify-content: space-around; 72 | padding: 15px; 73 | } 74 | -------------------------------------------------------------------------------- /app/assets/stylesheets/api/_review_snippet.css: -------------------------------------------------------------------------------- 1 | .reviews-section { 2 | margin: 20px 0px; 3 | background: white; 4 | display: flex; 5 | flex-direction: column; 6 | border-radius: 7px; 7 | border-bottom: 1px solid lightgray; 8 | } 9 | 10 | .reviews-section .snippet-section { 11 | border: none; 12 | margin: 10px 0px; 13 | display: flex; 14 | } 15 | 16 | .review-snippet-main { 17 | flex: 8; 18 | display: flex; 19 | flex-direction: column; 20 | } 21 | 22 | .review-snippet-top-bar { 23 | flex: 1; 24 | } 25 | 26 | .review-snippet-top-bar ul { 27 | display: flex; 28 | justify-content: space-between; 29 | font-size: 12px; 30 | color: darkgray; 31 | } 32 | 33 | .review-details { 34 | flex: 6; 35 | font-size: 12px; 36 | color: gray; 37 | } 38 | 39 | .review-snippet-right-bar { 40 | flex: 2; 41 | margin-left: 10px; 42 | color: gray; 43 | font-size: 12px; 44 | font-weight: lighter; 45 | } 46 | 47 | .review-snippet-right-bar li{ 48 | margin: 3px 0px; 49 | } 50 | -------------------------------------------------------------------------------- /app/assets/stylesheets/api/_snippet.css: -------------------------------------------------------------------------------- 1 | .snippet-section { 2 | display: flex; 3 | border-bottom: 1px solid lightgrey; 4 | padding: 0px 10px 0px 10px; 5 | margin: 5px 0px; 6 | } 7 | 8 | .snippet-photo { 9 | max-height: 150px; 10 | flex: 3; 11 | margin: 15px 10px; 12 | } 13 | 14 | .snippet-img { 15 | width: 100%; 16 | height: 100%; 17 | border-radius: 5px; 18 | } 19 | 20 | .snippet-img img { 21 | width: 100%; 22 | height: 100%; 23 | object-fit: cover; 24 | border-radius: 7px; 25 | vertical-align: middle; 26 | } 27 | 28 | .snippet-img:hover { 29 | opacity: 0.7; 30 | transition-duration: 0.5s; 31 | } 32 | 33 | .snippet-info { 34 | display: flex; 35 | flex-direction: column; 36 | flex: 6; 37 | margin: 15px 10px; 38 | } 39 | 40 | .detail-fade { 41 | color: gray; 42 | } 43 | 44 | .snippet-price { 45 | flex: 2; 46 | margin: 15px 10px; 47 | } 48 | 49 | .snippet-review { 50 | flex: 6; 51 | margin: 15px 10px; 52 | font-size: 12px; 53 | color: gray; 54 | } 55 | 56 | .snippet-section a:hover { 57 | color: lightgray; 58 | } 59 | 60 | .no-hover * { 61 | cursor: default !important; 62 | } 63 | -------------------------------------------------------------------------------- /app/assets/stylesheets/api/favorite.css: -------------------------------------------------------------------------------- 1 | .favorite-box { 2 | display: flex; 3 | justify-content: flex-start; 4 | } 5 | 6 | .favorite-box h5 { 7 | margin: 5px 0px; 8 | } 9 | 10 | .favorite-box h5:hover { 11 | cursor: pointer; 12 | } 13 | 14 | .favorite-box div { 15 | align-items: center; 16 | margin: 0 5px; 17 | } 18 | 19 | .favorited { 20 | color: #FF8787; 21 | } 22 | 23 | .not-favorite { 24 | color: gray; 25 | } 26 | -------------------------------------------------------------------------------- /app/assets/stylesheets/api/favorites.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the api/favorites controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/api/filter.css: -------------------------------------------------------------------------------- 1 | .filter { 2 | display: flex; 3 | justify-content: space-between; 4 | margin: 10px; 5 | } 6 | 7 | .filter-list { 8 | display: flex; 9 | justify-content: space-around; 10 | align-items: center; 11 | border-bottom: 1px solid gainsboro; 12 | flex: 2; 13 | } 14 | 15 | .filter-item { 16 | font-size: 2vw; 17 | font-weight: 100; 18 | color: #009080; 19 | } 20 | 21 | .filter-item:hover { 22 | cursor: pointer; 23 | color: mediumaquamarine; 24 | border-bottom: 1px solid #A70303; 25 | } 26 | 27 | .active-filter { 28 | color: #008080; 29 | font-weight: bold; 30 | border-bottom: 1px solid #F13737; 31 | } 32 | 33 | .page-list { 34 | display: flex; 35 | flex: 1; 36 | height: 3vw; 37 | justify-content: space-around; 38 | align-items: center; 39 | border-bottom: 1px solid gainsboro; 40 | } 41 | 42 | .page-list .highlight { 43 | font-size: 1.5vw; 44 | } 45 | 46 | .clickable:hover { 47 | opacity: 0.5; 48 | cursor: pointer; 49 | } 50 | -------------------------------------------------------------------------------- /app/assets/stylesheets/api/hours.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the api/hours controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/api/manager.css: -------------------------------------------------------------------------------- 1 | .editable-input { 2 | border: 1px solid black; 3 | border-radius: 3px; 4 | padding: 1px 5px; 5 | } 6 | 7 | .horizontal { 8 | display: flex; 9 | justify-content: flex-start; 10 | align-items: center; 11 | margin: 2px 5px; 12 | width: 100%; 13 | } 14 | 15 | .manager-text { 16 | margin: 0px 5px; 17 | } 18 | 19 | .manager-highlight { 20 | color: #D41010; 21 | } 22 | 23 | .editable-text { 24 | margin: 0px 5px; 25 | padding: 2px; 26 | border: 1px solid gainsboro; 27 | border-radius: 3px; 28 | color: #D41010; 29 | background-color: whitesmoke; 30 | } 31 | 32 | .editable-text:hover { 33 | cursor: pointer; 34 | border: 1px solid #D41010; 35 | } 36 | 37 | .manager-add-table { 38 | align-items: center; 39 | justify-content: space-between; 40 | } 41 | 42 | .user-show-nav .button { 43 | width: fit-content; 44 | height: fit-content; 45 | } 46 | 47 | .manager-date { 48 | padding: 0px 15px; 49 | } 50 | -------------------------------------------------------------------------------- /app/assets/stylesheets/api/modal.css: -------------------------------------------------------------------------------- 1 | .modal { 2 | z-index: 10; 3 | height: 100%; 4 | width: 100%; 5 | display: flex; 6 | flex-direction: column; 7 | justify-content: center; 8 | position: fixed; 9 | left: 0px; 10 | top: 0px; 11 | background-color: rgb(0,0,0); 12 | background-color: rgba(0,0,0, 0.2); 13 | overflow-x: hidden; 14 | } 15 | 16 | .overlay { 17 | height: 100%; 18 | width: 100%; 19 | display: fixed; 20 | left: 0px; 21 | top: 0px; 22 | background-color: rgba(0,0,0,0.1); 23 | } 24 | -------------------------------------------------------------------------------- /app/assets/stylesheets/api/photos-section.css: -------------------------------------------------------------------------------- 1 | .show-section { 2 | display: flex; 3 | flex-direction: column; 4 | justify-content: center; 5 | padding-bottom: 15px; 6 | } 7 | 8 | .section-img { 9 | display: inline-block; 10 | max-height: 230px; 11 | } 12 | 13 | .section-img img { 14 | display: inline-block; 15 | width: 99%; 16 | height: 99%; 17 | object-fit: cover; 18 | } 19 | -------------------------------------------------------------------------------- /app/assets/stylesheets/api/reviews.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the api/reviews controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | 5 | .reviews-section-bar h1 { 6 | padding-left: 20px; 7 | border-bottom: gainsboro; 8 | font-size: 24px; 9 | } 10 | 11 | .review-top { 12 | display: flex; 13 | flex-direction: column; 14 | border-top: 1px solid gainsboro; 15 | border-bottom: 1px solid gainsboro; 16 | padding: 10px 0px; 17 | } 18 | 19 | .review-details { 20 | margin: 10px; 21 | } 22 | 23 | .review-overalls { 24 | display: flex; 25 | justify-content: space-between; 26 | } 27 | 28 | .rating-stars { 29 | flex: 7; 30 | display: flex; 31 | flex-direction: column; 32 | } 33 | 34 | .overall { 35 | font-size: 20px; 36 | } 37 | 38 | .rating { 39 | flex: 2; 40 | font-size: 24px; 41 | margin: 10px 30px; 42 | } 43 | 44 | .review-averages { 45 | display: flex; 46 | justify-content: space-around; 47 | } 48 | 49 | .avg-scores { 50 | display: flex; 51 | flex-direction: column; 52 | justify-content: space-around; 53 | } 54 | 55 | .review-type { 56 | font-size: 12px; 57 | color: gray; 58 | } 59 | 60 | .review-score { 61 | font-size: 14px; 62 | font-weight: bold; 63 | } 64 | -------------------------------------------------------------------------------- /app/assets/stylesheets/api/seatings.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the api/seatings controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/api/sessions.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the api/sessions controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/application.css: -------------------------------------------------------------------------------- 1 | /* 2 | * This is a manifest file that'll be compiled into application.css, which will include all the files 3 | * listed below. 4 | * 5 | * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets, 6 | * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path. 7 | * 8 | * You're free to add application-wide styles to this file and they'll appear at the bottom of the 9 | * compiled file so the styles you add here take precedence over styles defined in any styles 10 | * defined in the other CSS/SCSS files in this directory. It is generally better to create a new 11 | * file per style scope. 12 | * 13 | *= require_tree . 14 | *= require_self 15 | *= _css_reset 16 | *= _navbar.css 17 | *= _form.css 18 | *= _map.css 19 | */ 20 | -------------------------------------------------------------------------------- /app/assets/stylesheets/footer.css: -------------------------------------------------------------------------------- 1 | .footer { 2 | height: 30px; 3 | margin-top: 20px; 4 | background-color: white; 5 | padding: 15px; 6 | } 7 | 8 | .footer-links { 9 | vertical-align: middle; 10 | display: flex; 11 | color: gray; 12 | } 13 | 14 | .footer-links li { 15 | margin: 0px 10px; 16 | } 17 | 18 | .footer a:hover { 19 | font-weight: bold; 20 | font-size: 16px; 21 | color: darkgray; 22 | } 23 | -------------------------------------------------------------------------------- /app/assets/stylesheets/spinner.css: -------------------------------------------------------------------------------- 1 | .spinner-cover { 2 | z-index: 11; 3 | height: 100%; 4 | width: 100%; 5 | position: fixed; 6 | top: 0px; 7 | left: 0px; 8 | background-color: rgb(0,0,0); 9 | background-color: rgba(0,0,0,0.0); 10 | display: flex; 11 | flex-direction: column; 12 | justify-content: center; 13 | } 14 | 15 | .spinner-container { 16 | align-self: center; 17 | max-width: 30%; 18 | max-height: 30%; 19 | } 20 | -------------------------------------------------------------------------------- /app/assets/stylesheets/static_pages.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the StaticPages controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/staticpages.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the staticpages controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | -------------------------------------------------------------------------------- /app/controllers/api/cities_controller.rb: -------------------------------------------------------------------------------- 1 | class Api::CitiesController < ApplicationController 2 | 3 | def index 4 | @cities = City.all 5 | end 6 | 7 | def show 8 | @city = City.find_city(city_params) 9 | render "api/cities/show" 10 | end 11 | 12 | private 13 | def city_params 14 | params.permit(:id, :page, :per_page) 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /app/controllers/api/favorites_controller.rb: -------------------------------------------------------------------------------- 1 | class Api::FavoritesController < ApplicationController 2 | 3 | def create 4 | @favorite = Favorite.new(favorite_params) 5 | 6 | if @favorite.save 7 | render "api/favorites/show" 8 | else 9 | render @favorite.errors.full_messages, status: 422 10 | end 11 | end 12 | 13 | def destroy 14 | @favorite = Favorite.find(params[:id]) 15 | @favorite.destroy 16 | render 'api/favorites/show' 17 | end 18 | 19 | private 20 | def favorite_params 21 | params.require(:favorite).permit(:user_id, :restaurant_id) 22 | end 23 | end 24 | -------------------------------------------------------------------------------- /app/controllers/api/hours_controller.rb: -------------------------------------------------------------------------------- 1 | class Api::HoursController < ApplicationController 2 | def show 3 | @hour = Hour.find(params[:id]) 4 | render 'api/hours/show' 5 | end 6 | 7 | def update 8 | @hour = Hour.find(params[:hour][:id]) 9 | 10 | if @hour.update(hour_params) 11 | render 'api/hours/show' 12 | else 13 | render json: @hour.erros.full_messages 14 | end 15 | end 16 | 17 | private 18 | def hour_params 19 | params.require(:hour).permit(:id, :day, :open, :close, :restaurant_id) 20 | end 21 | end 22 | -------------------------------------------------------------------------------- /app/controllers/api/manager_controller.rb: -------------------------------------------------------------------------------- 1 | class Api::ManagerController < ApplicationController 2 | def show 3 | @restaurant = Restaurant.find_manager_restaurant(params[:id]) 4 | 5 | if @restaurant && logged_in? 6 | render 'api/manager/show' 7 | else 8 | render json: @restaurant.errors.full_messages 9 | end 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /app/controllers/api/reservations_controller.rb: -------------------------------------------------------------------------------- 1 | class Api::ReservationsController < ApplicationController 2 | def index 3 | @reservations = Reservation.find_all_reservations( 4 | params[:query][:date], 5 | params[:query][:id] 6 | ) 7 | 8 | render 'api/reservations/index' 9 | end 10 | 11 | def create 12 | @reservation = Reservation.new(reservation_params) 13 | 14 | if @reservation.save 15 | render 'api/reservations/show' 16 | else 17 | render json: {base: @reservation.errors.full_messages }, status: 422 18 | end 19 | end 20 | 21 | def show 22 | @reservation = Reservation.find(params[:id]) 23 | render 'api/reservations/show' 24 | end 25 | 26 | def search 27 | query = params[:query] 28 | time = query[:time].to_i 29 | @reservations = Reservation.search_reservations( 30 | query[:date], 31 | query[:time].to_i, 32 | query[:seats_id], 33 | query[:restaurant_id] 34 | ) 35 | 36 | render 'api/reservations/search' 37 | end 38 | 39 | def destroy 40 | @reservation = Reservation.find(params[:id]) 41 | @reservation.destroy 42 | render 'api/reservations/show' 43 | end 44 | 45 | private 46 | def reservation_params 47 | params.require(:reservation).permit(:user_id, :restaurant_id, :time, :date, :seating_id, :seats) 48 | end 49 | end 50 | -------------------------------------------------------------------------------- /app/controllers/api/reviews_controller.rb: -------------------------------------------------------------------------------- 1 | class Api::ReviewsController < ApplicationController 2 | def index 3 | data = Review.find_all(params) 4 | @reviews = data[0] 5 | @params = data[1] 6 | end 7 | 8 | def create 9 | @review = Review.new(review_params) 10 | 11 | if @review.save 12 | render 'api/reviews/show' 13 | else 14 | render json: @review.errors.full_messages, status: 422 15 | end 16 | end 17 | 18 | def show 19 | @review = Review.find_review(params[:id]) 20 | end 21 | 22 | def destroy 23 | review = Review.find(params[:id]) 24 | review.destroy 25 | render 26 | end 27 | 28 | private 29 | def review_params 30 | params.require(:review).permit(:reservation_id, :rating, 31 | :details, :food, :service, :ambiance, :value) 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /app/controllers/api/seatings_controller.rb: -------------------------------------------------------------------------------- 1 | class Api::SeatingsController < ApplicationController 2 | def create 3 | @seating = Seating.new(seating_params) 4 | 5 | if @seating.save 6 | render 'api/seatings/show' 7 | else 8 | render json: @seating.errors.full_messages, status: 409 9 | end 10 | end 11 | 12 | def show 13 | @seating = Seating.find(params[:id]) 14 | render 'api/seatings/show' 15 | end 16 | 17 | def search 18 | @seatings = Seating.availabilities(params[:query]) 19 | 20 | render 'api/seatings/search' 21 | end 22 | 23 | def update 24 | @seating = Seating.find(params[:id]) 25 | 26 | if @seating.update(seating_params) 27 | render 'api/seatings/show' 28 | else 29 | render json: @seating.errors.full_messages, status: 422 30 | end 31 | end 32 | 33 | def destroy 34 | @seating = Seating.find(params["id"]) 35 | Seating.destroy(params["id"]) 36 | render 'api/seatings/show' 37 | end 38 | 39 | private 40 | def seating_params 41 | params.permit(:restaurant_id, :id, :seats, :max_tables) 42 | end 43 | end 44 | -------------------------------------------------------------------------------- /app/controllers/api/sessions_controller.rb: -------------------------------------------------------------------------------- 1 | class Api::SessionsController < ApplicationController 2 | def create 3 | @user = User.find_by_credentials( 4 | params[:user][:email], 5 | params[:user][:password] 6 | ) 7 | 8 | if @user && @user.is_password?(params[:user][:password]) 9 | login(@user) 10 | render 'api/sessions/show' 11 | else 12 | render json: ["Incorrect login. Please log in"], status: 422 13 | end 14 | end 15 | 16 | def destroy 17 | logout(current_user) 18 | render json: {} 19 | end 20 | end 21 | -------------------------------------------------------------------------------- /app/controllers/api/users_controller.rb: -------------------------------------------------------------------------------- 1 | class Api::UsersController < ApplicationController 2 | def create 3 | @user = User.new(user_params) 4 | 5 | if @user.save 6 | login(@user) 7 | 8 | render "api/users/show" 9 | else 10 | render json: @user.errors.full_messages, status: 422 11 | end 12 | end 13 | 14 | def show 15 | @user = User.find_user(params[:id]) 16 | 17 | if @user && @user == current_user 18 | render "api/users/show" 19 | else 20 | render json: @user.errors.full_messages, status: 422 21 | end 22 | end 23 | 24 | private 25 | def user_params 26 | params.require(:user).permit(:username, :email, :password) 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /app/controllers/application_controller.rb: -------------------------------------------------------------------------------- 1 | class ApplicationController < ActionController::Base 2 | # Prevent CSRF attacks by raising an exception. 3 | # For APIs, you may want to use :null_session instead. 4 | protect_from_forgery with: :exception 5 | helper_method :current_user, :current_session, :logged_in? 6 | 7 | def current_user 8 | user = User.find_by(session_token: session[:session_token]) 9 | end 10 | 11 | def current_session 12 | user = User.find_session(session[:session_token]) 13 | end 14 | 15 | def logged_in? 16 | !!current_user 17 | end 18 | 19 | def login(user) 20 | user.session_token = user.reset_session_token! 21 | session[:session_token] = user.session_token 22 | end 23 | 24 | def logout(user) 25 | user.session_token = user.reset_session_token! 26 | session[:session_token] = nil 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /app/controllers/concerns/.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/controllers/concerns/.keep -------------------------------------------------------------------------------- /app/controllers/static_pages_controller.rb: -------------------------------------------------------------------------------- 1 | class StaticPagesController < ApplicationController 2 | def root 3 | end 4 | end 5 | -------------------------------------------------------------------------------- /app/helpers/api/cities_helper.rb: -------------------------------------------------------------------------------- 1 | module Api::CitiesHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/api/favorites_helper.rb: -------------------------------------------------------------------------------- 1 | module Api::FavoritesHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/api/hours_helper.rb: -------------------------------------------------------------------------------- 1 | module Api::HoursHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/api/reservations_helper.rb: -------------------------------------------------------------------------------- 1 | module Api::ReservationsHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/api/restaurant_helper.rb: -------------------------------------------------------------------------------- 1 | module Api::RestaurantHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/api/restaurants_helper.rb: -------------------------------------------------------------------------------- 1 | module Api::RestaurantsHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/api/reviews_helper.rb: -------------------------------------------------------------------------------- 1 | module Api::ReviewsHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/api/seatings_helper.rb: -------------------------------------------------------------------------------- 1 | module Api::SeatingsHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/api/sessions_helper.rb: -------------------------------------------------------------------------------- 1 | module Api::SessionsHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/api/users_helper.rb: -------------------------------------------------------------------------------- 1 | module Api::UsersHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/application_helper.rb: -------------------------------------------------------------------------------- 1 | module ApplicationHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/static_pages_helper.rb: -------------------------------------------------------------------------------- 1 | module StaticPagesHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/staticpages_helper.rb: -------------------------------------------------------------------------------- 1 | module StaticpagesHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/mailers/.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/mailers/.keep -------------------------------------------------------------------------------- /app/models/.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/models/.keep -------------------------------------------------------------------------------- /app/models/city.rb: -------------------------------------------------------------------------------- 1 | class City < ActiveRecord::Base 2 | validates :name, presence: true, uniqueness: true 3 | 4 | scope :search_city, -> (query) { where("lower(name) ~ ?", query) } 5 | scope :with_associations, -> (id) { includes(restaurants: [:photos, :ratings, :reviews]) } 6 | 7 | has_many :restaurants 8 | has_many :ratings, through: :restaurants 9 | has_many :reviews, through: :restaurants 10 | has_many :photos, through: :restaurants 11 | has_attached_file :image, default_url: "wine.jpg" 12 | validates_attachment_content_type :image, content_type: /\Aimage\/.*\Z/ 13 | 14 | attr_accessor :pages, :page, :per_page 15 | 16 | def self.find_city(params) 17 | city = City.with_associations(params[:id]) 18 | city.per_page = params[:per_page] ? params[:per_page] : 10 19 | 20 | if params[:page] 21 | city.page = params[:page] 22 | end 23 | 24 | city 25 | end 26 | 27 | def self.in_bounds(latLng) 28 | x = where("lat + 2 > ? AND lat - 2 < ? AND lng + 2 > ? AND lng -2 < ?", 29 | latLng["lat"], latLng["lat"], latLng["lng"], latLng["lng"] 30 | ) 31 | 32 | x.first.id 33 | end 34 | end 35 | -------------------------------------------------------------------------------- /app/models/concerns/.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhuo-ch/HelloTable/0d7172a510a7dfb0f95fa99df4a32cc1c161a93a/app/models/concerns/.keep -------------------------------------------------------------------------------- /app/models/favorite.rb: -------------------------------------------------------------------------------- 1 | class Favorite < ActiveRecord::Base 2 | validates :user_id, :restaurant_id, presence: true 3 | 4 | belongs_to :user 5 | belongs_to :restaurant 6 | end 7 | -------------------------------------------------------------------------------- /app/models/hour.rb: -------------------------------------------------------------------------------- 1 | class Hour < ActiveRecord::Base 2 | belongs_to :restaurant 3 | end 4 | -------------------------------------------------------------------------------- /app/models/photo.rb: -------------------------------------------------------------------------------- 1 | class Photo < ActiveRecord::Base 2 | validates :restaurant, presence: true 3 | 4 | belongs_to :restaurant 5 | 6 | has_attached_file :image, default_url: "wine.jpg" 7 | validates_attachment_content_type :image, content_type: /\Aimage\/.*\Z/ 8 | end 9 | -------------------------------------------------------------------------------- /app/models/rating.rb: -------------------------------------------------------------------------------- 1 | class Rating < ActiveRecord::Base 2 | validates :restaurant, presence: true 3 | validates :restaurant, uniqueness: true 4 | before_create :set_defaults 5 | 6 | belongs_to :restaurant, inverse_of: :rating 7 | 8 | def set_defaults 9 | self.total = 0 10 | self.rating = 0 11 | self.food = 0 12 | self.service = 0 13 | self.ambiance = 0 14 | self.value = 0 15 | end 16 | 17 | def add_review(review) 18 | self.total += 1 19 | self.rating += review.rating 20 | self.food += review.food 21 | self.service += review.service 22 | self.ambiance += review.ambiance 23 | self.value += review.value 24 | self.save 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /app/models/reservation.rb: -------------------------------------------------------------------------------- 1 | class Reservation < ActiveRecord::Base 2 | validates :user_id, :restaurant_id, presence: true 3 | before_save :ensure_available 4 | 5 | scope :find_all_reservations, -> (date, id) { includes(:user).where(date: date, restaurant_id: id) } 6 | scope :find_reservation, -> (id) { includes(:restaurants, :photos, :ratings).find(id) } 7 | 8 | belongs_to :user 9 | belongs_to :restaurant 10 | belongs_to :seating 11 | has_one :review, inverse_of: :reservation 12 | 13 | def self.search_reservations(date, time, seats_id, restaurant_id) 14 | Reservation 15 | .joins(:seating) 16 | .where("date = ?", date) 17 | .where("time BETWEEN ? AND ?", (time - 200), (time + 200)) 18 | .where("seating_id = ?", seats_id) 19 | .where("seatings.restaurant_id = ?", restaurant_id) 20 | .references(:seatings) 21 | end 22 | 23 | def ensure_available 24 | x = Reservation 25 | .where("date = ?", self.date) 26 | .where("time = ?", self.time) 27 | .where("seating_id = ?", self.seating_id) 28 | .count 29 | x < Seating.find(self.seating_id).max_tables 30 | end 31 | end 32 | -------------------------------------------------------------------------------- /app/models/review.rb: -------------------------------------------------------------------------------- 1 | class Review < ActiveRecord::Base 2 | validates :reservation_id, :rating, presence: true 3 | before_save :add_to_rating 4 | 5 | scope :find_review, -> (id) { includes(:rating, :user, :reservation).find(id) } 6 | 7 | belongs_to :reservation 8 | has_one :restaurant, through: :reservation 9 | has_one :user, through: :reservation 10 | 11 | def self.get_pages(id, per_page) 12 | (Review.joins(:reservation).where(:reservations => { :restaurant_id => id }).count / per_page.to_i) + 1 13 | end 14 | 15 | def add_to_rating 16 | self.restaurant.rating.add_review(self) 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /app/views/api/cities/index.json.jbuilder: -------------------------------------------------------------------------------- 1 | @cities.each do |city| 2 | json.set! city.id do 3 | json.id city.id 4 | json.name city.name 5 | json.image_url asset_path(city.image.url) 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /app/views/api/cities/show.json.jbuilder: -------------------------------------------------------------------------------- 1 | count = @city.restaurants.count 2 | json.extract! @city, :id, :name, :page, :per_page 3 | json.pages count / @city.per_page.to_i + (count % @city.per_page.to_i > 0 ? 1 : 0) 4 | json.image_url asset_path(@city.image.url) 5 | json.restaurants @city.restaurants.map do |restaurant| 6 | json.extract! restaurant, :id, :name, :cuisine, :address, :location 7 | json.ratings do 8 | json.extract! restaurant.rating, :total, :rating, :food, :service, :ambiance, :value 9 | if restaurant.reviews.count > 0 10 | json.details restaurant.reviews[rand(restaurant.reviews.count)].details 11 | end 12 | end 13 | json.image restaurant.photos.first.nil? ? asset_path(@city.image.url) : asset_path(restaurant.photos.first.image.url) 14 | end 15 | -------------------------------------------------------------------------------- /app/views/api/favorites/_show.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.extract! favorite, :id, :user_id, :restaurant_id 2 | json.restaurant do 3 | json.image favorite.restaurant.photos.first.nil? ? asset_path(favorite.restaurant.city.image.url) : asset_path(favorite.restaurant.photos.first.image.url) 4 | json.extract! favorite.restaurant, :id, :name, :cuisine, :address, :location 5 | json.ratings do 6 | json.extract! favorite.restaurant.rating, :total, :rating, :food, :service, :ambiance, :value 7 | json.details favorite.restaurant.reviews.first.nil? ? "Be the first to review!" : favorite.restaurant.reviews.sample.details 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /app/views/api/favorites/show.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.partial! 'api/favorites/show', favorite: @favorite 2 | -------------------------------------------------------------------------------- /app/views/api/hours/show.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.extract! @hour, :id, :day, :open, :close, :restaurant_id 2 | -------------------------------------------------------------------------------- /app/views/api/manager/show.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.partial! 'api/restaurants/show', restaurant: @restaurant 2 | -------------------------------------------------------------------------------- /app/views/api/reservations/_show.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.id reservation.id 2 | json.reviewed reservation.review ? true : false 3 | json.extract! reservation, :time, :date, :seats 4 | json.restaurant do 5 | json.image reservation.restaurant.photos.first.nil? ? asset_path(reservation.restaurant.city.image.url) : asset_path(reservation.restaurant.photos.first.image.url) 6 | json.extract! reservation.restaurant, :id, :name, :cuisine, :address, :location 7 | json.ratings do 8 | json.extract! reservation.restaurant.rating, :total, :rating, :food, :service, :ambiance, :value 9 | json.details reservation.restaurant.reviews.length > 0 ? reservation.restaurant.reviews.sample.details : "Be the first to leave a review!" 10 | end 11 | end 12 | 13 | json.ignore_nil! 14 | json.username reservation.user.username 15 | -------------------------------------------------------------------------------- /app/views/api/reservations/index.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.ignore_nil! 2 | json.array! @reservations do |reservation| 3 | json.extract! reservation, :id, :time, :seats 4 | json.client reservation.user.username 5 | end 6 | -------------------------------------------------------------------------------- /app/views/api/reservations/search.json.jbuilder: -------------------------------------------------------------------------------- 1 | @reservations.each do |reservation| 2 | json.set! reservation.id do 3 | json.extract! reservation, :id, :time, :date 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /app/views/api/reservations/show.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.partial! 'api/reservations/show', reservation: @reservation 2 | -------------------------------------------------------------------------------- /app/views/api/restaurants/_show.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.extract! restaurant, :id, :user_id, :name, :address, :location, 2 | :phone, :cuisine, :description, :hours, :site, :seatings 3 | json.ratings restaurant.rating, :total, :rating, :food, :service, :ambiance, :value 4 | json.reviews restaurant.reviews do |review| 5 | json.extract! review, :id, :reservation_id, :rating, :details, :food, :service, :ambiance, :value 6 | json.username review.user.username 7 | json.date review.reservation.date 8 | end 9 | json.images restaurant.photos.map { |photo| asset_path(photo.image.url) } 10 | -------------------------------------------------------------------------------- /app/views/api/restaurants/index.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.extract! @params, :pages, :page, :per_page, :filter, :id 2 | json.restaurants @restaurants.map do |restaurant| 3 | json.extract! restaurant, :id, :name, :cuisine, :address, :location 4 | json.ratings do 5 | json.extract! restaurant.rating, :total, :rating, :food, :service, :ambiance, :value 6 | if !restaurant.sample_review.nil? 7 | json.details restaurant.sample_review.first.details 8 | end 9 | end 10 | json.image restaurant.photos.first.nil? ? asset_path(City.first.image.url) : asset_path(restaurant.photos.first.image.url) 11 | end 12 | -------------------------------------------------------------------------------- /app/views/api/restaurants/search.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.cities @cities.each do |city| 2 | json.extract! city, :name, :id, :state 3 | end 4 | json.restaurants @restaurants.each do |restaurant| 5 | json.set! restaurant.id do 6 | json.extract! restaurant, :name, :id, :address, :location 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /app/views/api/restaurants/show.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.partial! 'api/restaurants/show', restaurant: @restaurant 2 | -------------------------------------------------------------------------------- /app/views/api/restaurants/update.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.extract! @restaurant, :id, :user_id, :name, :address, :location, 2 | :phone, :cuisine, :description, :site 3 | -------------------------------------------------------------------------------- /app/views/api/reviews/index.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.ratings @reviews[0].restaurant.rating, :total, :rating, :food, :service, :ambiance, :value 2 | json.list @reviews do |review| 3 | json.extract! review, :id, :reservation_id, :rating, :details, :food, :service, :ambiance, :value 4 | json.username review.user.username 5 | json.date review.reservation.date 6 | end 7 | -------------------------------------------------------------------------------- /app/views/api/reviews/show.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.extract! @review, :id, :reservation_id, :rating, :details, :food, :service, :ambiance, :value 2 | -------------------------------------------------------------------------------- /app/views/api/seatings/search.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.seatings @seatings 2 | -------------------------------------------------------------------------------- /app/views/api/seatings/show.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.extract! @seating, :id, :seats, :max_tables, :restaurant_id 2 | -------------------------------------------------------------------------------- /app/views/api/sessions/_show.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.extract! user, :username, :id 2 | json.manager user.restaurant ? user.restaurant.id : false 3 | json.favorites user.favorites do |favorite| 4 | json.extract! favorite.restaurant, :id, :name 5 | end 6 | json.reservations user.reservations do |reservation| 7 | json.extract! reservation, :time, :date, :seats 8 | json.extract! reservation.restaurant, :id, :name 9 | end 10 | -------------------------------------------------------------------------------- /app/views/api/sessions/show.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.partial! 'api/sessions/show', user: @user 2 | -------------------------------------------------------------------------------- /app/views/api/users/show.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.extract! @user, :username, :id 2 | json.favorites do 3 | json.array! @user.favorites do |favorite| 4 | json.partial! 'api/favorites/show.json.jbuilder', favorite: favorite 5 | end 6 | end 7 | json.reservations do 8 | json.array! @user.reservations do |reservation| 9 | json.partial! 'api/reservations/show.json.jbuilder', reservation: reservation 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /app/views/layouts/application.html.erb: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 |