InfyOm Blog

latest-post

We often listen to the words "Eager Loading" & "Lazy Loading" in Laravel. but maybe some of how still don't know what that actually stands for.

What Lazy Loading means?

I worked with many projects that is developed by some other developers and the common problems in code I found us Lazy Loading queries everywhere.

To understand it more easily let's take one simple example.

Let's say There is Post model and Comments Model.

So basically post->hasMany('comments')

So let's say we are fetching 10 posts and now we want the comments of each post. what we will do is :

$post->comments()->get() (LAZY LOADING)

Lazy loading cause N+1 queries issues as every time we are fetching comments of each post and it will block the execution too for while as its queries from the DB.

What Eager Loading means?

Eager loading is very useful when we are working with large-scale projects. it saves lot's of execution time and even DB queries too :)

Let's take the above example to understand the Eager loading.

$posts = Post::with('comments')->get()

$post->comments (EAGER LOADING)

here when we retrieve the posts at that time we are fetching its comments too on the same query. so when we do $post->comments it will not again do query into DB or not even block execution as the comments are already there in model instance.

So this is how Eager loading saves your time and also prevents N+1 Query.

Hope that helps.

August 13, 20221 minuteuserVishal Ribdiya

Posts

On-Page SEO : The Ultimate Guide[2021]

On-page are SEO types are used for ranking your webpage in google at no.1 position to get more traffic. That can take time but it's processed for a one-time setup than organically site rank in google and you get high-quality results.

Here you can get the ultimate guide about on-page SEO and you can apply this process to get results as you expect.

Factors for On-Page SEO

There are some factors that affect while process of on-page SEO.

So, let's get started,

1. Title

The title is the most important factor for the rank website in google. A page title should be attractive for the user if the user doesn't interest in your title then the user never read your blog post.

The title length should be 50 - 60 characters. Google can cut down longer versions of the title and your title doesn't see in google as you expect.

Here is the list for titles:

  • Use a keyword in the title
  • A Longer version of the keyword used in the title
  • CTA - call to action word use
  • Don't use stop words
  • Use your brand name in the title

2. Metatags

Metatags are also the most important factor for ranking. Metatags consist of a meta title, meta description, meta keyword, etc.

The length of the meta description should be generally 155 to 160 characters.

Metatags represent your whole blog in short. It should be attractive for user expectations.

Google can change your meta description and meta title user's query related but write meta description is required. And it should be relevant to your blog post.

3. SSL Certificate

Users can trust an only secure site if your site has no SSL certificate then it shows not secure so, user cannot trust on this site and don't provide information to this site.

Your site not should be HTTP but should be HTTPS using this gets user trust belongs to your site easily.

Example:

http://infyom.com/ - without an SSL certificate

https://infyom.com/ - with SSL certificate

4. Responsive Website

The website should be mobile-friendliness if not then google can not index a particular webpage or site.

5. Navigation

Navigation of your website is should be easy for users so users can spend more time on your site.

Users can easily go from one page to another page using simple navigation.

You can use a breadcrumbs snippet for easy navigation.

6. Page Loading Speed

Core web vitals plays an important role in page loading speed. Low page loading speed means users can more time spent on a website.

Key factors:

  • Images compression
  • Compress javascript and CSS files
  • Cashed javascript and CSS files
  • Light theme

7. Text Visibility

Another important factor is text visibility. Text on your site should be visible to the user. Not used word to white text in the white background is not visible for the user.

8. CTA - Call to Action

Use call-to-action words in your content for getting to user interaction with your content.

Ex. Buy Now, 2 Days left only, Create an account, Free e-book, Explore, Join now, Discover, etc. all are call-to-action words that use in your content to increase user interaction with your content.

9. Img alt text

Always use alt text for every image that is in content. Alt text should be relevant to your image.

Don't use repeat alt text in the same content.

10. Internal Linking

Your site pages should be interlinking with each other for easy navigation. Google can easily understand your site structure if you use interlinking of all pages with each other.

Google can easily crawl them and indexed them in SERP. Using this users can spend more time on your website and you can get a rank in google.

11. External linking

You can do link to high domain authority web pages on your page. This is also a ranking factor in on-page SEO.

Not limit to external linking to your web pages.

12. URL Structure

Use an easy URL structure for your web pages. Don't use a long-form of URL structure.

Conclusion:

All factors are important in on-page SEO points of view so, follow these steps to get a higher ranking in google.

September 16, 20212 minutesauthorMilan Gangani
How to use laravel routes with Javascript / JQuery ?

Generally, we can use laravel routes into its blade files, but what do we have to do when we want to use routes in javascript? is that possible to use laravel routes into javascript?

Yes, now you can use laravel routes into laravel, thanks to Tighten/Ziggi package.

In this tutorial, we will learn how we can use laravel routes into javascript, so let's get started.

Install the package

composer require tightenco/ziggy

Update your main layout file

Add the @routes Blade directive to your main layout (before your application's JavaScript), and the route() helper function will now be available globally!

E.g (app.blade.php)

... ... @routes .. ..

Usage

// routes/web.php

Route::get('users', fn (Request $request) => /* ... */)->name('users.index');

// app.js

route('users.index'); // 'https://url.test/users'

So this is how its works, so simple right :)

You can get more information about this package from here

Kepp connected to us to get the latest laravel information.

January 03, 20223 minutesauthorVishal Ribdiya
How to Develop Effective Communication Skills to Get and Keep Clients

Introduction

Effective communication is a tool for achieving your business goals and the essence of your business. Are you ever unsure about what a customer really wants? Have you ever forgotten what you or a client promised because you did not keep a good record of your interactions? If so, your communication with customers can be improved. Here are some tips to improve communication, both in writing and orally, especially with potential and current customers.

Respond quickly

To provide us with great customer service, we need to try to return email and phone calls within an hour, if possible. Doing so confirms your professionalism and tells the client that it is easier to work with you. It shows that you care about the collar business.

Remember to ask the client for feedback

You can ask them this time if you can help with future projects. Or, just say you're looking forward to working with them again.

Be very specific about the documentation of the project terms

Ask if you don't know, and document everything in writing. For example, set up an appointment to communicate with customers so you can be more prepared when they call. I sometimes screen incoming calls, let them go to voicemail, and then call back as soon as I'm ready to say what I want to say. If you are following up with a client, ask if you can call back at a specific time, or offer an alternate time to talk.

Verify by recording everything in writing

Even if you agree to something over the phone, always send an email with details that the client can verify. Ask, don't assume. If your invoice is not paid, or if you are unsure, just ask.

Listen

Both face-to-face and written communication are important. While you can personalize your emails to coworkers and/or employees, a quick "I hope you all had a good weekend" email at the beginning of the message can make the individual and the recipient more appreciative.

Respect

You will be more open to communicating with people who show respect for you and their ideas. Using the person's name, making eye contact, and actively listening when a person speaks will compliment the person. On the phone, focused on avoiding interruptions and investing in conversations.

September 10, 20212 minutesauthorAnkit Kalathiya
What is Agile Testing Methodology & How it Works?

Agile testing is a software testing process that follows the principles of agile software development. Agile testing methodology aligns with iterative Development Methodology in which requirements develop gradually from customers and testing teams. The development is aligned with customer requirements.

The agile testing process is a continuous process rather than being sequential. The testing begins at the start of the project and there is ongoing integration between testing and development. The common objective of agile development and testing is to achieve high product quality.

Agile Testing Methods

Behavior Driven Development

Behavior Driven Development (BDD) improves communication amongst project stakeholders so that all members correctly understand each feature before the development process starts. There is continuous example-based communication between developers, testers, and business analysts.

Acceptance Test Driven Development

ATDD focuses on involving team members with different perspectives such as the customer, developer, and tester. Three Amigos meetings are held to formulate acceptance tests incorporating perspectives of the customer, development, and testing. The customer is focused on the problem that is to be solved, the development is focused on how the problem will be solved whereas the testing is focused on what could go wrong. The acceptance tests are a representation of the user’s point of view and describe how the system will function. It also helps to verify that the system functions as it is supposed to. In some instances acceptance tests are automated.

Exploratory Testing

In this type of testing, the test design and test execution phase go hand in hand. Exploratory testing emphasises working software over comprehensive documentation. The individuals and interactions are more important than the process and tools. Customer collaboration holds greater value than contract negotiation. Exploratory testing is more adaptable to changes. In this testers identify the functionality of an application by exploring the application. The testers try to learn the application, and design & execute the test plans according to their findings.

Agile Testing Life Cycle

The agile testing life cycle includes the following 5 phases:

  1. Impact assessment - Gather input from stakeholders and users, this will act as feedback for the next deployment cycle.

  2. Agile Testing Planning - All stakeholders come together to plan the schedule of the testing process, meeting frequency, and deliverables.

  3. Release Readiness - In this stage, we review the features that have been developed/implemented are ready to go live or not.

  4. Daily Scrums - Daily standup meeting includes everyday meetings to catch up on the status of testing and set the goals for the whole day.

  5. Agility Review - Weekly review meeting with stakeholder meeting to review and assess the progress against milestones.

Conclusion

Agile testing not only facilitates the early detection of defects but also reduces the cost of bugs by fixing them early. This approach also yields a customer-centric approach by delivering a high-quality product as early as possible.

September 09, 20213 minutesauthorNayan Patel
Understanding CSS Attribute Selectors

In HTML and CSS, an attribute selector is used to select any element with a specific attribute or value. This is a great way to style HTML elements by grouping them based on some specific features, and the feature selector will select elements with similar elements.

In CSS LifeStyle Example: We know that styling HTML elements with their tag names, class names, ID names, etc.
This all will apply the changes to all tags or all classes or all ID names within the page. But if I have a situation where I want to apply styles to a tag name but only a few of them we just name their attribute in the indexing bracket. Therefore that it can only apply those changes to matching tag name and attribute name matching elements.

Here are 7 CSS Attribute Selector Syntax:

  • [attribute]
  • [attribute=value]
  • [attribute~=value]
  • [attribute|=value]
  • [attribute^=value]
  • [attribute$=value]
  • [attribute*=value]

1) [attribute] Selector only used to select HTML elements with the required attribute.

// This will color the tag with a title attribute.

a[title] { 

     color: yellow;
}

<a href=”” title=””>

2) [attribute=value] Selector used to select HTML elements with required attribute and value.

// This is used to select HTML elements with the required target and _blank.

a[target=”_blank”] { 

   color: yellow;

}

<a href=”” target=”_blank”>

3) [attribute~=”value”] Selector used to select HTML elements with required attribute value contains a given word anywhere in the selector.

// This will color the tag with title attribute value as a para word.

[title~=para] { 
   color: yellow;

}

<p title=”hello_para”/> 
<p  title=”_blank_para”>

4) [attribute|=”value”] Selector used to select HTML elements whose attribute value starting with specified value.

//This will color the tag with class attribute value as starting with the specified value
.

[class!=mango] { 
color: blue;

}

<p class=”mango_yellow”/> 
<p class=”” title=”mango_red”>

5) [attribute^=”value”] Selector used to select HTML elements whose attribute value begins with the specified value.

// This will color the tag with class attribute value as start with the specified string
.

[class!=”there”] { 
color: blue;

}

<p class=”there_yellow” />
<p class=”” title=”there_red” />

6) [attribute$=”value”] Selector used to select HTML elements whose attribute value ends with the specified value.

//This will color the tag with class attribute value as ends with the hello string
.

[class$=”hello”] { 
color: blue;

}

<p class=”hi_there_hello” /> 
<p class=”I_am_hello” />

7) *[attribute=”value”] Selector** used to select HTML elements whose attribute value contains specified value anywhere in the attribute value.

//This will color the tag with class attribute contains specified value anywhere
.

[class*=”am”] { 
color: blue;

}

<p class=”gaming”/> 
<p class=”games”/>
September 08, 20213 minutesauthorPayal Pansuriya
How to Setup Swagger in Laravel Application

Generally, we are using a Swagger in Laravel. it will take time if we set up swagger manually. so, In this article, I going to show you very easy steps for setup in Laravel.

You can watch the following video tutorial as well.

Steps 1:

You should download these assets from here. unzip the folder and go to the public directory. you can found the swagger directory in the side public folder. let open the swagger directory and you can see the following files.

  • jquery-2.1.4.min.js
  • style.css
  • swagger-bundle.js
  • swagger.yaml

If are you still confuse then visit this link for files.

now, Copy the swagger directory and put it in your laravel application on the same path.

Steps 2:

We need to load swagger with proper swagger UI. so, let navigate to resources/views on the downloaded source code project.

You can see the swagger directory inside the views directory. copy the swagger directory to your laravel application on the same path. I don't think you need to do anything in this view file. let's go to the next step.

Steps 3:

You need to update this swagger.yaml file. you should update the following details first. and then add APIs documentation in this file. Api document example given here. you can refer it.

info:
  description: LPT APis
  version: 1.0.0
  title: LPT Frontend API's
basePath: /api/

Steps 4:

In this step, you need to create a route for loading swagger docs. so, let's open the web.php file add the following few lines of code.

Route::get('/docs', function () {
    return view('swagger.index');
});

Now, run a command php artisan serve and open http://127.0.0.1:8000/docs or open a virtualHostDomain/docs if you have one.

You should watch this tutorial as well if you using InfyOm Generator

September 06, 20213 minutesauthorShailesh Ladumor
How to connect strapi CMS in gatsby website

Gatsby

Gatsby is a blazing-fast website framework for React. It allows developers to build React-based websites within minutes.

Strapi CMS

Strapi is an open-source, Node.js based, Headless CMS that saves developers a lot of development time while giving them the freedom to use their favorite tools and frameworks.

Integrate Gatsby with Strapi

Install gatsby-source-strapi package

npm i gatsby-source-strapi

gatsby-config.js file

  • add the gatsby config file in the following code

plugins: [
    {
        resolve: `gatsby-source-strapi`,
        options: {
            apiURL: "your strapi server",
            contentTypes: ["restaurant"], //add your collections name
            queryLimit: 1000,
        }
    }
]

Now connect your gatsby website and strapi CMS

  • Here is an example of the GraphQL API query
import { StaticQuery, graphql } from 'gatsby';

const query = graphql`
  query {
    allStrapiRestaurant {
      edges {
        node {
          strapiId
          name
          description
        }
      }
    }
  }
`

const IndexPage = () => (
  <StaticQuery
    query={query}
    render={data => (
      <ul>
        {data.allStrapiRestaurant.edges.map(restaurant => (
          <li key={restaurant.node.strapiId}>{restaurant.node.name}</li>
        ))}
      </ul>
    )}
  />
);

export default IndexPage;

Hope this helps.

September 01, 20212 minutesauthorVatsal Sakariya
How to Increase Product Sales on the Website

An easy way I'm going to show you how to increase product sales on the website. Also, you can apply this method and increase your products sales without any problems.

5 Ways to Increase your products sales on the website. Read whole blog content so, you can idea how to increase product sales in a short time.

Let's get started with this reliable technique to increase product sales on the website.

1. First, Know your Buyer's Persona

To reach your ideal customer first know who they are and should they are related to your product or not

Who are your buyers?

first, know who is your customer is and should they are matched with your custom criteria so, you can easily convince them to buy your products.

How to Convince them?

If your customer is relevant to your product niche so, you can easily convince them to buy your products and you can increase product sales.

2. Create Attractive Landing Page

The second step is to create an attractive landing page to attract customers to your website.

Create a simple landing page and describe more about your products so customers know what are the features of your product and how to use them.

Attract more customers to your landing page by adding video and Increase your sales on the website.

3. Add Testimonials & Case Studies of Product

The best way to convince your customer about your product is to add testimonials & case studies. Customers easily attract to this technique and trust your products.

Testimonial is a showing off your products rating and customer review. Good ratings and reviews easily built trust. Using this technique you can increase product sales.

4. Create Urgency

Everyone knows about Amazon. Amazon also creates an urgency to attract customers and sell more products. Urgency like, Hurry Up, Buy now, Sell end in 2 days, 24 hours left it's all are types of urgency.

So people can think about a product that sales are ends in 2days and they can buy before the end of the sale.

5. Give Offer - Money Back Guarantee

One of the most powerful reasons is customers not buying products is the risk factor of money back.

You can give an offer like this If you are not satisfied with our products then we will return your money 100%. If customers see this type of offer so they can think about buying your products. This is an easy way to increase product sales using this technique

Conclusion:

Using this technique you can easily increase your product sales on the website. All techniques are important and reliable.

August 31, 20212 minutesauthorAnkit Kalathiya