技術情報

sourcetree/githubでの認証エラーの対処方法

今回はsourcetree/githubの認証エラーの対処方法をシェアします。

続きを読む

Laravel 8 Push Notification using Firebase[2]

Here is final part how to do push notification using Firebase.Let’s start it.

Get Firebase Cloud Messaging (FCM) Server Key

This step will show how to get FCM key and Firebase web app’s configuration credentials.

Then firstly go to the Firebase site and we need to create a project.

Then add your notification app name for adding Firebase to web app.

Then copy the Firebase configuration keys, and this will help to connect laravel to Firebase.

Next, go to the project dashboard setting and copy the sever key and paste in HomeController of SERVER_API_KEY variable in sendNotification() function. Next step create the controller and let’s add the key.

Create Route

We need to do some of routes to store token and send push notification so let’s add our routes in web.php.

routes/web.php

Create Controller

Here, we need add saveToken() and sendNotification() method for admin route in HomeController.

app/Http/Controllers/HomeController.php

Then update the home.blade.php

In the final step, we have to create head over to a public folder and create a new firebase-messaging-sw.js file; this file holds the web push notification configurations.

public/firebase-messaging-sw.js

Finally, to see the push notification results we need to execute php artisan serve command. Next we will do register, signed-in and then click on the allow notification button, it will generate the device id, also add push notification title and body in the given form.

we will receive notification as like bellow:

By Ami



Laravel 8 Push Notification using Firebase[1]

Firstly create a new fresh Laravel project using a composer command:

composer create-project laravel/laravel push-notification-app

Then go to the app’s root:

cd push-notification-app/

Database Connection

Secondly, to make a database connection in .env file filling with database name, username, password.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=database_name
DB_USERNAME=database_user_name
DB_PASSWORD=database_password

Install Laravel UI Scaffolding

Next, install ui package and create auth scaffolding based on Bootstrap CSS framework.

composer require laravel/ui

After that, need to install to manifest bootstrap auth ui.

php artisan ui bootstrap --auth

You have to suggested commands to compile your fresh scaffolding.

npm install && npm run dev

Update Server Key in User Table

We need to add a new column in the current user table.

php artisan make:migration add_column_device_token

Subsequently, we need to add this device token key in the new table.

class AddColumnDeviceToken extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        //
        Schema::table('users', function (Blueprint $table) {
            $table->string('device_token')->nullable();
        });
    }

After that, move the device key to the user table.

class User extends Authenticatable
{
    use HasFactory, Notifiable;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'name',
        'email',
        'password',
        'device_token'
    ];

Then type to run migrate execute command.

php artisan migrate

Next week I will show you how to get the Firebase cloud messaging server key and Firebase web app’s configuration credentials.

By Ami



[Laravel] Adding custom data to eloquent result

Sometimes, we want to add more custom data to our eloquent result before passing to blade or doing further logic improvements. Today we will be focusing how to add custom data to our eloquent result.

I assume you already know laravel framework in this article as we will not covering from scratch of laravel framework. First let’s make a posts table. Here is the migration file.

Schema::create('posts', function (Blueprint $table) {
  $table->id();
  $table->string('name');
  $table->string('description');
  $table->timestamps();
});

In our post table, we will have these columns in above. And we gonna add a data record. You can add manually using database clients or you can of course make a seeder class to add dummy data like this

DB::table('posts')->insert([
  'name' => Str::random(10),
  'description' => Str::random(100),
  'created_at' => date('Y-m-d H:i:s'),
]);

Lets go to our controller and select the data with all method and print the result with dd function.

$data = Post::all();
dd($data);

The output will be look like this.

Now , let’s try to add a new column called category_id and user_id to that eloquent results. We can achieve this using map function.

$data = Post::all();

$data->map(function ($result) {
  $result->category_id = 1;
  $result->user_id = 2;
  return $result;
});

dd($data);

And the result will be look like this. Please remember there are two arrays called attributes which is the one we customized and added the data. And there is also original array which contains only original data from eloquent.

Anyhow, we can access our created data using map like always. For further more to customize the eloquent results , please check out here.

dd($data[0]->category_id.','.$data[0]->user_id);
//result -> 1,2

If you need to loop through many data, you can use loop functions but in this case I just added a 0 index to get data easily.

By Yuuma



How to install Node.js and NPM in your MacOS

Yesterday I wanted to install NPM with package download, such kind of command error message occurred.

Command on found on zsh

Then I try to add new some command, I got it zsh shell command. So this time I would like to share you how to install both Node.js and NPM with MacOs for new terminal.

Prerequisites

Firstly by typing git that will show you command line tools installed.

git

To see what shell your terminal currently is in, from the command line type in:

echo $0

If you’re in the bash shell, you’ll see printed out:

-bash

If you’re in the zsh shell, you’ll see printed out:

-zsh

Switch Your Default Shell To zsh

To switch your shell to the zsh shell, you may enter:

chsh -s /bin/zsh

To switch back to the bash shell, you may enter:

chsh -s /bin/bash

Step by step installation

Make a directory and enter the folder and add this really nifty package manager for zsh called antigen.zsh

curl -L git.io/antigen > antigen.zsh

Now we’re going to configure our .zshrc file:

nano ~/.zshrc

Then you’ll want to write such kind of .zshrc file:

Then restart your terminal. Now you can finally install Node.js and NPM with a single line using nvm!

nvm install --lts

I hope you have found this useful. 

By Ami




アプリ関連ニュース

お問い合わせはこちら

お問い合わせ・ご相談はお電話、またはお問い合わせフォームよりお受け付けいたしております。

tel. 06-6454-8833(平日 10:00~17:00)

お問い合わせフォーム