{"id":15554432,"url":"https://github.com/markertmer/news_app_fe","last_synced_at":"2025-04-23T19:48:07.421Z","repository":{"id":40432753,"uuid":"480991129","full_name":"markertmer/news_app_fe","owner":"markertmer","description":"News App consultancy project, Front End","archived":false,"fork":false,"pushed_at":"2022-05-16T20:44:10.000Z","size":174,"stargazers_count":1,"open_issues_count":10,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-30T02:51:11.227Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/markertmer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-04-12T22:24:14.000Z","updated_at":"2022-07-08T22:57:20.000Z","dependencies_parsed_at":"2022-07-13T03:50:47.349Z","dependency_job_id":null,"html_url":"https://github.com/markertmer/news_app_fe","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markertmer%2Fnews_app_fe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markertmer%2Fnews_app_fe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markertmer%2Fnews_app_fe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markertmer%2Fnews_app_fe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/markertmer","download_url":"https://codeload.github.com/markertmer/news_app_fe/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250503989,"owners_count":21441499,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-02T15:01:24.923Z","updated_at":"2025-04-23T19:48:07.393Z","avatar_url":"https://github.com/markertmer.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv id=\"top\"\u003e\u003c/div\u003e\n\n# SPINSPOT\n## version 1\n\nSpinSpot is a Rails application designed to help readers compare similar news stories from different sources. For any given topic, SpinSpot will display three side-by-side stories, each with its own headline, image, summary, and name of the news source it was taken from. Readers can then \"spot the spin\" by comparing the different ways in which each news source treats the issue.  \n\n- This repository is for the front end web application, which consumes the back end API. The project mimics a service-oriented architecture where the back end is responsible for consuming external APIs and exposing the information to the front end as users request articles for different topics. The back end repository can be found [here](https://github.com/stevenjames-turing/consultancy_news_BE)\n- The application is currently deployed on Heroku and available for public consumption [here](https://news-app-fe.herokuapp.com)\n- Articles related to one current topic will be displayed on the homepage. Users must sign in with Google to be able to search and browse for additional topics.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Getting Started\n\nFollow these steps to get your own copy of the front end application.\n\n### Prerequisites\n\n- Ruby 2.7.4\n- Rails 5.2.7\n- Obtain a [Google OAuth](https://console.cloud.google.com/apis/credentials) Client ID and Client Secret for your app.\n\n### Installing\n\nNavigate into the home directory, install the gems, and setup a local database:\n```\n$ cd sweater_weather\n$ bundle install\n$ rails db:create\n$ rails db:migrate\n```\n\nCreate an `application.yml` file using Figaro, then open it for editing. The file is git-ignored, so it may not show up in your GUI.\n```\n$ bundle exec figaro install\n$ (open in your text editor) config/application.yml\n```\n\nAdd your Google OAuth credentials to `application.yml` file using the syntax shown:\n```YML\nGOOGLE_CLIENT_ID: your_client_id\nGOOGLE_CLIENT_SECRET: your_client_secret\n```\n\nEnsure all tests are passing.\n```\n$ bundle exec rspec\n=\u003e .................\n\n=\u003e Finished in 0.80712 seconds (files took 1.79 seconds to load)\n=\u003e 17 examples, 0 failures\n\n=\u003e Coverage report generated for RSpec to /news_app_fe/coverage. 384 / 400 LOC (96.0%) covered.\n```\n\nYou will also need to install the [SpinSpot back end](https://github.com/stevenjames-turing/consultancy_news_BE) in a separate local repository, or use the [currently deployed version](https://news-app-be.herokuapp.com) of it in order to start sending requests and displaying results.\n\n## Requests and Responses\n\nThe front end consumes information from the back end service via one `GET` endpoint that includes a topic keyword, for example:\n```\n/api/v1/news?keyword=biden\n```\nThe JSON response will follow this format:\n```JSON\n{\n  \"topic\": \"biden\",\n  \"type\": \"articles\",\n  \"data\": {\n    \"left_article\": {\n      \"title\": \"Biden is Cool!\",\n      \"summary\": \"Top Ten reasons why we LOVE Joe Biden...\",\n      \"source\": \"MSNBC\",\n      \"url\": \"http://msnbc.com/biden-rules\",\n      \"photo_url\": \"http://msnbc.com/biden-rules/image.jpg\"\n    },\n    \"center_article\": {\n      \"title\": \"Joe Biden: Human\",\n      \"summary\": \"We take a closer look at the personhood of the 46th president...\",\n      \"source\": \"Associated Press\",\n      \"url\": \"http://ap.com/biden-is-a-human\",\n      \"photo_url\": \"http://ap.com/biden-is-a-human/image.jpg\"\n    },\n    \"right_article\": {\n      \"title\": \"Biden is Coming for your Children\",\n      \"summary\": \"Lock your doors! Load your guns! Hide your babies...\",\n      \"source\": \"Fox News\",\n      \"url\": \"http://fox-news.com/biden-sux\",\n      \"photo_url\": \"http://faux-newz.com/biden-is-evil/image.jpg\"\n    }\n  }\n}\n\n```\n\n## Article Selection\n\nEach topic search will return one article from the \"left\", \"center\" and \"right\" areas of the political spectrum, according to this chart:\n![image](https://user-images.githubusercontent.com/91342410/167652605-0870841d-9e21-4617-9386-f121891ad54b.png)\n\nThe order of the articles is randomized in order to allow the reader to view them without any expectations.\n\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Contributors\n\n- [Blake Dempsey](https://github.com/bdempsey864)\u003cbr\u003e\n- [Tamara Dowis](https://github.com/wanderlust-create)\u003cbr\u003e\n- [Mark Ertmer](https://github.com/markertmer)\u003cbr\u003e\n- [Steven James](https://github.com/stevenjames-turing)\u003cbr\u003e\n- [Paul Leonard](https://github.com/pleonar1)\u003cbr\u003e\n- [Ruben Pasillas](https://github.com/hobbiathan)\u003cbr\u003e\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Contributing\n\nPlease [contact me](https://github.com/markertmer) if you are interested in contributing to this application.\n\n## License\n\nAll rights reserved. But feel free to make a copy and make it yours!\n\n## Acknowledgements\n\n - This project was completed as part of the Module 3 curriculum in the  [Back End Engineering Program](https://backend.turing.edu/) at **[Turing School of Software and Design](https://turing.edu/)**.\n - It was submitted on April 22, 2022 and received a passing grade from instructor [Jamison Ordway](https://github.com/jamisonordway).\n - The project was built to the specification of [these requirements](https://backend.turing.edu/module3/projects/consultancy/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkertmer%2Fnews_app_fe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarkertmer%2Fnews_app_fe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkertmer%2Fnews_app_fe/lists"}