<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Aashita31</title>
    <description>The latest articles on DEV Community by Aashita31 (@aashita31).</description>
    <link>https://dev.to/aashita31</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F618127%2F2b6b4530-12b1-4725-a5c0-4fbb3a2b61d1.jpg</url>
      <title>DEV Community: Aashita31</title>
      <link>https://dev.to/aashita31</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aashita31"/>
    <language>en</language>
    <item>
      <title>Laravel sync-drive </title>
      <dc:creator>Aashita31</dc:creator>
      <pubDate>Mon, 03 May 2021 18:01:08 +0000</pubDate>
      <link>https://dev.to/aashita31/laravel-sync-drive-3dko</link>
      <guid>https://dev.to/aashita31/laravel-sync-drive-3dko</guid>
      <description>&lt;h2&gt;
  
  
  Laravel drive sync- multi-structure folder.
&lt;/h2&gt;

&lt;p&gt;Work Flow:-&lt;br&gt;
&lt;strong&gt;Structure:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Root-&amp;gt;Parent folder-&amp;gt;Workspace folder-&amp;gt;Task folder-&amp;gt;Task folder files.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;$upload_array = ['default-Workplace' =&amp;gt; [&lt;br&gt;
                'Test1' =&amp;gt; [&lt;br&gt;
                        '0' =&amp;gt; "tasklistfiles/2530/tasklist_216190942753.png",&lt;br&gt;
                        '1' =&amp;gt; "tasklistfiles/2530/tasklist_516190942791.txt"&lt;br&gt;
                    ],&lt;br&gt;
                'Test2' =&amp;gt; [&lt;br&gt;
                    '0' =&amp;gt; "tasklistfiles/2550/tasklist_216190882045.txt"&lt;br&gt;
                ]&lt;br&gt;
            ],&lt;br&gt;
        'Workplace' =&amp;gt; [&lt;br&gt;
                'Test3' =&amp;gt; [&lt;br&gt;
                        '0' =&amp;gt; "tasklistfiles/2533/tasklist_216190942753.png",&lt;br&gt;
                        '1' =&amp;gt; "tasklistfiles/2533/tasklist_516190942791.txt"&lt;br&gt;
                    ],&lt;br&gt;
                'Test4' =&amp;gt; [&lt;br&gt;
                    '0' =&amp;gt; "tasklistfiles/2555/tasklist_216190882045.txt"&lt;br&gt;
                ]&lt;br&gt;
            ]&lt;br&gt;
        ];&lt;/p&gt;
&lt;h2&gt;
  
  
  steps:
&lt;/h2&gt;

&lt;p&gt;1- Login into drive(If new user), save the access-token json in DB. &lt;br&gt;
2- Check if access-token active, if not active refresh access token and update JSON in DB.&lt;br&gt;
3- Check if Parent folder exists, if YES - step4, if NO - step5&lt;br&gt;
4- Get Parent folder Id Name, go to-step6&lt;br&gt;
5- Create Parent folder, get folder Id Name, go to-step6&lt;br&gt;
6- Get folder List, Check if Workspace folder exists, if YES - step7, if NO - step8&lt;br&gt;
7- Get Workspace folder id Name, go to-step9&lt;br&gt;
8- Create Workspace folder, get folder Id Name, go to-step9&lt;br&gt;
9- Get folder List, Check if Task folder exists, if YES - step10, if NO - step11&lt;br&gt;
10- Get Task folder id Name, go to-step12&lt;br&gt;
11- Create Task folder, get folder Id Name, go to-step12&lt;br&gt;
12- Get File List, Check if Task file exist, if YES - step13, if NO- (msg-uploaded previously)&lt;br&gt;
13- Upload file in a specific folder&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If while checking folder/file exists or not if function return empty array then create and make specific upload will be the starting phase. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Code:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Constructor:-
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;        public $gClient;
        public function __construct(){
            $google_redirect_url = route('glogin');
            $this-&amp;gt;gClient = new \Google_Client();
            $this-&amp;gt;gClient-&amp;gt;setApplicationName(config('services.google.app_name'));
            $this-&amp;gt;gClient-&amp;gt;setClientId(config('services.google.client_id'));
            $this-&amp;gt;gClient-&amp;gt;setClientSecret(config('services.google.client_secret'));
            $this-&amp;gt;gClient-&amp;gt;setRedirectUri($google_redirect_url);
            $this-&amp;gt;gClient-&amp;gt;setDeveloperKey(config('services.google.api_key'));
            $this-&amp;gt;gClient-&amp;gt;setScopes(array(               
                'https://www.googleapis.com/auth/drive.file',
                'https://www.googleapis.com/auth/drive'
            ));
            $this-&amp;gt;gClient-&amp;gt;setAccessType("offline");
            $this-&amp;gt;gClient-&amp;gt;setApprovalPrompt("force");
        } ```







&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;*Google Login :-&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public function googleLogin(Request $request)  {
        $google_oauthV2 = new \Google_Service_Oauth2($this-&amp;gt;gClient);
        if ($request-&amp;gt;get('code')){
            $this-&amp;gt;gClient-&amp;gt;authenticate($request-&amp;gt;get('code'));
            $request-&amp;gt;session()-&amp;gt;put('token', $this-&amp;gt;gClient-&amp;gt;getAccessToken());
        }
        if ($request-&amp;gt;session()-&amp;gt;get('token'))
        {
            $this-&amp;gt;gClient-&amp;gt;setAccessToken($request-&amp;gt;session()-&amp;gt;get('token'));
        }
        if ($this-&amp;gt;gClient-&amp;gt;getAccessToken())
        {
            //For logged in user, get details from google using acces
            $user_id = User::where('email','sahani.aashita31@gmail.com')-&amp;gt;first();
            $user=User::find($user_id-&amp;gt;id);
            $user-&amp;gt;access_token=json_encode($request-&amp;gt;session()-&amp;gt;get('token'));
            $user-&amp;gt;save();               
            dd("Successfully authenticated");
        } else
        {
            //For Guest user, get google login url
            $authUrl = $this-&amp;gt;gClient-&amp;gt;createAuthUrl();
            return redirect()-&amp;gt;to($authUrl);
        }
    }```
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;*Get Parent Id,Name:-&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;        public function getParentFolder($id){
            $query = "mimeType='application/vnd.google-apps.folder' and '".$id."' in parents and trashed=false";
            $optParams = [
                'fields' =&amp;gt; 'files(id, name)',
                'q' =&amp;gt; $query
            ];
            $service = new \Google_Service_Drive($this-&amp;gt;gClient);
            $user_id = 1;
            $user=User::find($user_id);
            $this-&amp;gt;gClient-&amp;gt;setAccessToken(json_decode($user-&amp;gt;access_token,true));
            $results = $service-&amp;gt;files-&amp;gt;listFiles($optParams);
            if (count($results-&amp;gt;getFiles()) == 0) {
                $parentFolder = 'undefine';
            } else {
                foreach ($results-&amp;gt;getFiles() as $file) {
                    //  $file-&amp;gt;getID()
                    if($file-&amp;gt;getName() == '1-Thing')
                    {
                        $parentFolder = array($file-&amp;gt;getID(), $file-&amp;gt;getName());
                        break; 
                    }else{
                        $parentFolder = 'undefine';
                    }
                }    
            }
            if($parentFolder == 'undefine'){
                /* create Parent Folder folder */
                $folder = $this-&amp;gt;addSubFolder('root','1-Thing');
                $parentFolder = array($folder, '1-Thing');
                return $parentFolder;
            }else{
                return $parentFolder ;
            }
        }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;*Get Folder List:-&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

        public function listFolder($id){
        $query = "mimeType='application/vnd.google-apps.folder' and '".$id."' in parents and trashed=false";
        $optParams = [
            'fields' =&amp;gt; 'files(id, name)',
            'q' =&amp;gt; $query
        ];
        $service = new \Google_Service_Drive($this-&amp;gt;gClient);
        $user=User::find(1);
        $this-&amp;gt;gClient-&amp;gt;setAccessToken(json_decode($user-&amp;gt;access_token,true));
        $results = $service-&amp;gt;files-&amp;gt;listFiles($optParams);
        if (count($results-&amp;gt;getFiles()) == 0) {
           return [];
        } else {
            foreach ($results-&amp;gt;getFiles() as $file) {
                //  $file-&amp;gt;getID()
                 $files[] = $file-&amp;gt;getName();
            }
            return $files;
        }
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;*Get Folder Id:-&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
        public function getFolderId($id, $folder_name){
        $query = "mimeType='application/vnd.google-apps.folder' and '".$id."' in parents and trashed=false";
        $optParams = [
            'fields' =&amp;gt; 'files(id, name)',
            'q' =&amp;gt; $query
        ];
        $service = new \Google_Service_Drive($this-&amp;gt;gClient);
        $user=User::find(1);
        $this-&amp;gt;gClient-&amp;gt;setAccessToken(json_decode($user-&amp;gt;access_token,true));
        $results = $service-&amp;gt;files-&amp;gt;listFiles($optParams);
        if (count($results-&amp;gt;getFiles()) == 0) {
           return [];
        } else {
            foreach ($results-&amp;gt;getFiles() as $file) {
                //  $file-&amp;gt;getID()
                if($file-&amp;gt;getName() == $folder_name)
                {
                        $file = $file-&amp;gt;getID();
                        break;
                }
            }
            return $file;
        }
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;*Add Sub-folder:-&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
        public function addSubFolder($parent_folder_id, $workspace){
        // $parent_folder_id = '17TC7UnSdjPHFApeeBxub2zbgHzcRPF9a';
        $service = new \Google_Service_Drive($this-&amp;gt;gClient);
        $folder = new \Google_Service_Drive_DriveFile();
        $folder-&amp;gt;setName($workspace);
        $folder-&amp;gt;setMimeType('application/vnd.google-apps.folder');
        if( !empty( $parent_folder_id ) ){
            $folder-&amp;gt;setParents( [ $parent_folder_id ] );        
        }
        $result = $service-&amp;gt;files-&amp;gt;create( $folder );
        $folder_id = null;
        if( isset( $result['id'] ) &amp;amp;&amp;amp; !empty( $result['id'] ) ){
            $folder_id = $result['id'];
        }
        $sub_folder_id = $folder_id;
        return $sub_folder_id;
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;*Get File List:-&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;        public function listFile($id){
        $parameters['q'] = "mimeType='application/vnd.google-apps.folder' and '".$id."' in parents and trashed=false";
        $service = new \Google_Service_Drive($this-&amp;gt;gClient);
        $files = $service-&amp;gt;files-&amp;gt;listFiles($parameters);
        $user=User::find(1);
        $file_list= [];
        $this-&amp;gt;gClient-&amp;gt;setAccessToken(json_decode($user-&amp;gt;access_token,true));
        foreach( $files as $k =&amp;gt; $file ){
            $sub_files = $service-&amp;gt;files-&amp;gt;listFiles(array('q' =&amp;gt; "'{$file['id']}' in parents and trashed=false"));
            foreach( $sub_files as $kk =&amp;gt; $sub_file ) {
                $file_list[] = $sub_file['name'];
            }
        }
            return $file_list;

    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;*Upload File:-&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public function uploadFile($tasklist_folder_id, $file_path)
    {
        //  upload file code
        $file_name = explode("/",$file_path);
            $file = new \Google_Service_Drive_DriveFile(array(
                            'name' =&amp;gt; $file_name[2],
                            'parents' =&amp;gt; array($tasklist_folder_id)
                        ));
            $service = new \Google_Service_Drive($this-&amp;gt;gClient);
            $user=User::find(1);
            $this-&amp;gt;gClient-&amp;gt;setAccessToken(json_decode($user-&amp;gt;access_token,true));
            $result = $service-&amp;gt;files-&amp;gt;create($file, array(
              'data' =&amp;gt; file_get_contents(public_path($file_path)),
              'mimeType' =&amp;gt; 'application/octet-stream',
              'uploadType' =&amp;gt; 'media'
            ));
            // get url of uploaded file
            $url='https://drive.google.com/open?id='.$result-&amp;gt;id;
           return $result;
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;*Main Function:-&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public function uploadFileUsingAccessToken(){
    $upload_array = ['Workplace' =&amp;gt; [
        'Test1' =&amp;gt; [
            '0' =&amp;gt; "tasklistfiles/2530/tasklist_216190942753.png",
            '1' =&amp;gt; "tasklistfiles/2530/tasklist_516190942791.txt"
        ],
        'Test2' =&amp;gt; [
            '0' =&amp;gt; "tasklistfiles/2550/tasklist_216190882045.txt"
            ]
        ]
    ];

    $user_id = User::where('email','testing@gmail.com')-&amp;gt;first();
    $service = new \Google_Service_Drive($this-&amp;gt;gClient);
    /* Refresh login token */
    $user=User::find($user_id-&amp;gt;id);
    $this-&amp;gt;gClient-&amp;gt;setAccessToken(json_decode($user-&amp;gt;access_token,true));
    if ($this-&amp;gt;gClient-&amp;gt;isAccessTokenExpired()) {
        $refreshTokenSaved = $this-&amp;gt;gClient-&amp;gt;getRefreshToken();
        $this-&amp;gt;gClient-&amp;gt;fetchAccessTokenWithRefreshToken($refreshTokenSaved);               
        $updatedAccessToken = $this-&amp;gt;gClient-&amp;gt;getAccessToken();
        $updatedAccessToken['refresh_token'] = $refreshTokenSaved;
        $this-&amp;gt;gClient-&amp;gt;setAccessToken($updatedAccessToken);
        $updatedAccessToken = $user-&amp;gt;update($updatedAccessToken);
    }else{
        $updatedAccessToken = $user-&amp;gt;access_token;
    }
    /*End Refresh login token */
    /*Check if folder exsist or not if not then create*/
    /* Parent folder name and id **/
    $oneThingFolder = $this-&amp;gt;getOneThingFolder('root');
        if($oneThingFolder[1] == '1-Thing')
        {
            // Get 1-thing folder id   
            $onething_folder_id = $oneThingFolder[0];//$this-&amp;gt;getParentId('root');//1Kbfoaq_2bn6G4uHWOZO13Q96IbNvyBvZ
            /* Add workspace */
            if($onething_folder_id){
                /* Get list of folders(workspace) within 1-thing folder */
                $listFolder = $this-&amp;gt;listFolder($onething_folder_id);
                if($listFolder == []){
                    foreach($upload_array as $item =&amp;gt;$key){
                        $workspace_folder_name = $item;
                    }
                $workspace = $this-&amp;gt;addSubFolder($onething_folder_id, $workspace_folder_name);
                $listFolder = $this-&amp;gt;listFolder($onething_folder_id);
            }
        /* check and upload */
        if($listFolder){
            foreach($upload_array as $item =&amp;gt;$key){
                $workspace_folder_name = $item;
                // *check if worplace folder exsist */
                if(in_array($workspace_folder_name, $listFolder))
                {
                    echo"&amp;lt;pre&amp;gt;";
                    print_r($workspace_folder_name);
                    if($workspace_folder_name){
                    // Get folder id
                        $workspace_folder_id = $this-&amp;gt;getFolderId($onething_folder_id,$workspace_folder_name);
                        foreach( $key as $list =&amp;gt; $file_key)
                        {
                            $tasklist_folder_name = $list;
                            echo "&amp;lt;pre&amp;gt;";
                            print_r($tasklist_folder_name);
                            /* check if folder exsist */
                            $task_list_folder = $this-&amp;gt;listFolder($workspace_folder_id);
                            if($task_list_folder == []){
                                $task_folder_id = $this-&amp;gt;addSubFolder($workspace_folder_id, $tasklist_folder_name);
                                $task_folder_id = $this-&amp;gt;getFolderId($workspace_folder_id,$tasklist_folder_name);
                            }else{
                                // *check if task folder exsist */
                                if(in_array($tasklist_folder_name, $task_list_folder))
                                {
                                    // Get folder id
                                    $task_folder_id = $this-&amp;gt;getFolderId($workspace_folder_id,$tasklist_folder_name);
                                    // break;
                                }else{
                                    /* Create task folder */
                                    $task_folder_id = $this-&amp;gt;addSubFolder($workspace_folder_id, $tasklist_folder_name);
                                    $task_folder_id = $this-&amp;gt;getFolderId($workspace_folder_id,$tasklist_folder_name);
                                    // break;
                                }

                            }

                            /* Upload file in task folder */
                            foreach($file_key as $task_data){
                                $tasklist_folder_path = $task_data;
                                $tasklist_folder_name = explode("/",$tasklist_folder_path);

                                // * Check if file exsist before upload (No duplicate file)*/
                                $task_files = $this-&amp;gt;listFile($workspace_folder_id);
                                echo "&amp;lt;pre&amp;gt;";
                                print_r($task_files);
                                if($task_files == [])
                                {
                                    if(in_array($tasklist_folder_name[2], $task_files)){
                                        echo "&amp;lt;pre&amp;gt;";
                                        print_r("Uploaded previously..!!");
                                    // $task_id = $this-&amp;gt;uploadFile($task_folder_id, $tasklist_folder_path);
                                    }else{
                                        echo "&amp;lt;pre&amp;gt;";
                                        print_r($tasklist_folder_path);
                                        $task_id = $this-&amp;gt;uploadFile($task_folder_id, $tasklist_folder_path);
                                    }
                                }else{
                                    if(in_array($tasklist_folder_name[2], $task_files)){
                                        echo "&amp;lt;pre&amp;gt;";
                                        print_r("Uploaded previously..!!");
                                    // $task_id = $this-&amp;gt;uploadFile($task_folder_id, $tasklist_folder_path);
                                        }else{
                                        echo "&amp;lt;pre&amp;gt;";
                                            print_r($tasklist_folder_path);
                                            $task_id = $this-&amp;gt;uploadFile($task_folder_id, $tasklist_folder_path);
                                        }
                                }


                            }
                        }
                    }
                }else{
                    return("1.2 something went wrong..!!");
                    }
                }
            }else{
                return("1.1 something went wrong..!!");
                }  
        }else{
            return("1.0 something went wrong..!!");
        } 
    }else{

    }

}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  GitHub repo:-
&lt;/h2&gt;

&lt;p&gt;[&lt;a href="https://github.com/Aashita31/sync_drive"&gt;https://github.com/Aashita31/sync_drive&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;git clone &lt;a href="https://github.com/Aashita31/sync_drive.git"&gt;https://github.com/Aashita31/sync_drive.git&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"require": {
    ....
    "google/apiclient": "2.0.*"
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Getting your Client ID and Secret
&lt;/h2&gt;

&lt;p&gt;[&lt;a href="https://console.developers.google.com/"&gt;https://console.developers.google.com/&lt;/a&gt;]&lt;/p&gt;

&lt;h2&gt;
  
  
  .env
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;GOOGLE_APP_ID=xxxxx
GOOGLE_CLIENT_ID=xxxxx
GOOGLE_CLIENT_SECRET=xxxxxxx
GOOGLE_REDIRECT='http://localhost:8000/glogin'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>laravel</category>
      <category>googlecloud</category>
      <category>programming</category>
      <category>file</category>
    </item>
    <item>
      <title>Let your code talk..!</title>
      <dc:creator>Aashita31</dc:creator>
      <pubDate>Wed, 21 Apr 2021 10:18:44 +0000</pubDate>
      <link>https://dev.to/aashita31/let-your-code-talk-4lo4</link>
      <guid>https://dev.to/aashita31/let-your-code-talk-4lo4</guid>
      <description>&lt;p&gt;Hi there,&lt;/p&gt;

&lt;p&gt;Hope you all are doing good..!!&lt;/p&gt;

&lt;p&gt;So here is something that I would like to share. I came across the most basic thing i.e 'The importance of Comments in our code'. &lt;br&gt;
I am creating a sync drive custom logical implementation with laravel and vuejs. When it all started my thought was that once the connection part is successful it will be the easy road to the end. &lt;br&gt;
Nope here is the unexpected turn, The folder structure includes multiple dynamic folders and sub-folders creations with multiple security data checkpoints then comes the upload part with the right dynamically selected folder.&lt;br&gt;
It started with 4-6-8 and so on conditions, from if to foreach to if-else to else-else-else...&lt;br&gt;
It was getting complicated after every condition, every checkpoint addition it was tough to keep track of all previous ones if about code is not mentioned. To keep track I started placing one-liners /* */ tho, algo was helping but the code complexity was a major throwback. At this point, the comments helped me not only to keep track of my previous checkpoints but with optimization as well. &lt;/p&gt;

&lt;p&gt;We have a practice writing about our code above func and class. I never realized that comments play such an important role till today. It not only helped me know my code better but even my friend got a friendly connection with my code. I don't have to be the middleware between them everything was easy and understandable which was the best part.&lt;/p&gt;

&lt;p&gt;Ya, it's gonna help me later as you know na computer memory storage is more than us human.&lt;/p&gt;

&lt;p&gt;So guys, Let your code talk it's much more effective..!&lt;/p&gt;

&lt;p&gt;Cya another time:) &lt;/p&gt;

</description>
      <category>codequality</category>
      <category>programming</category>
      <category>laravel</category>
      <category>codereview</category>
    </item>
  </channel>
</rss>
