NewsAPIで提供されているニュースを読み込んで一覧で表示するアプリです。配信元を自由に設定し、好みの記事をクリップして保存できます。Laravelで作成し、読み込んだヘッドラインデータをDBに保存します。
- 登録したニュースソースごとにヘッドラインニュースを一覧表示
- ニュース記事で気に入ったものをお気に入りとしてフォルダに保存
- また、記事ごとに星評価を設定できる
- 記事詳細ページでは、元のウェブページの本文を自動で読み込んで表示(一部サイトで読み込みが上手くいかないことも)。
- 記事詳細ページにはコメント一覧と投稿フォームがあり、自由にコメントを追加可能
- ログイン認証機能
NewsAPIでは、APIを使って世界中のニュースサイトのヘッドライン情報を取得できます。なお、APIを利用するためにはNewsAPIのサイトでアカウント登録し、トークンを発行する必要があります。
# .envファイル内
API_KEY=[作成したトークン文字列]
# プロジェクトをクローン
git clone https://github.com/tekku-taro/newsapp.git
# ディレクトリに移動
cd newsapp
# PHPのパッケージをcomposerでインストール
composer install
# .envを作成してDB情報を編集
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=mydb
DB_USERNAME=root
DB_PASSWORD=
# アプリケーションキーの設定
php artisan key:generate
# マイグレーションとシーダーの実行
php artisan migrate --seed
# npmパッケージのインストール
npm install
# アセットのコンパイル
npm run dev
# NewsAPIのトークンを.env内に記録
API_KEY=[作成したトークン文字列]
データベースのシーダーにいくつかニュースソースが設定されていますのが、さらに好みのニュースソースを追加できます。
配信サイトメニュー >> 新規登録画面
URL:ニュース配信元のURL
サイト名称:配信ソース名(自由に設定)
# ソースか国名+カテゴリのどちらかを設定
ソース:決められた名前(下を参照)
国名:リストから選択
カテゴリ:リストから選択
表示数:ニュース一覧で表示されるニュースの数
ソースの具体的な名前を調べるには、NewsAPIサイトにNews sourcesページがあります。ページ内のLive examplesで表示されている記事データの中のsource.name
がソース名になります。
NewsAppはMIT licenseのもとで公開されています。
NewsApp is open-source software licensed under the MIT license.