Tuesday, January 10, 2017

Voyager – Can an Admin UI Make Laravel Even More Approachable?

Today, we are talking about Voyager!

Voyager logo

Voyager is a Laravel package that provides a full administration system for the framework in its "skeleton app" form. Voyager has 4 main features:

  • Media Manager - Built on top of Intervention Image, it provides a fully functional media manager that allow us to view, edit, and delete images from storage. This way, we can have all of our media in a single place, making it easy to access and manipulate.

  • Menu Builder - The Menu Builder allows us to add, edit, and delete menu items. It also gives us the ability to create new menus and manage them.

  • Database Manager - Allows us to access and manipulate our database directly from the admin panel. Instead of having to use Laravel's Schema, Voyager provides us with a mechanism to add, delete, and edit entries in the database. It will also (upon specification) create our models when adding tables to the database.

  • Bread/CRUD builder - BREAD is simply CRUD for the database. Voyager provides a mechanism to Browse, Read, Edit, Add, and Delete entries and views of any table in our database.

Let's take a closer look at it.

Installing Voyager

First, let's start with a fresh Laravel installation. Of course, we can start with an existing project, but for the purpose of this article we will start with a fresh one.

While it's outside the scope of this article, the recommended way to start a new Laravel project is by using Composer:

composer create-project laravel/laravel voyager

This will create a new Laravel project called voyager inside the /voyager folder. To serve this new Laravel project, using PHP's built in server:

php artisan serve

On Homestead Improved, the serving is taken care of for you with Nginx.

With a fresh Laravel installation up and running, we can now focus on installing the Voyager Admin package.

composer require tcg/voyager

As we can see during the installation process, Voyager is pulling components from some very well known PHP packages like Doctrine ORM for the database manager, or Guzzle and Intervention Image for PHP image handling and manipulation. This shows us that Voyager is built on top of reliable and proven components.

Next, let's fire up our favorite code editor. We will need to edit some files in order to have Voyager up and running.

First, we open the .env file and add our database credentials so that Voyager can connect to it.

DB_HOST=localhost
DB_DATABASE=database
DB_USERNAME=username
DB_PASSWORD=password

After that, let's add the Voyager and Image Intervention service providers to our providers array. This array can be found in the config/app.php file, and all we need to do is append the following elements to it:

TCG\Voyager\VoyagerServiceProvider::class,
Intervention\Image\ImageServiceProvider::class,

To finish the installation:

php artisan voyager:install

We should now see the "Successfully installed Voyager! Enjoy :)" message.

Continue reading %Voyager – Can an Admin UI Make Laravel Even More Approachable?%


by Claudio Ribeiro via SitePoint

The Proun Series

The Proun Series

One Pager showcasing Clara Nam's senior thesis on Russian artist El Lissitzky's Proun Series. Non-responsive and the text/images feels a touch small but glad we have a reference to a Single Page site hosting a thesis. Would love to see more of these.

by Rob Hope via One Page Love

6 Steps to Building a WordPress Maintenance Business

Pro Ebook group

This article was sponsored by GoDaddy. Thank you for supporting the sponsors who make SitePoint possible.

Recurring revenue is the Shangri-La for business owners. Rather than scrapping and fighting and hunting for new clients, you have the same clients coming to you again, providing you with a steady stream of income. It takes away the stress of having to dig up new streams of revenue and allows you to start planning ahead.

But if you're a WordPress designer or developer, you may be a bit perplexed about this whole "recurring revenue" thing. You make your money when clients need something new, like a website refresh for a site that looks like it was designed when MySpace was hot. You essentially have to wait for them to decide they want to change things. The whole idea of regular income feels like a mystery.

We've got some good news. Using the WordPress skills you already have, you can add WordPress maintenance to your business model. Building a WordPress maintenance business gives you the steady income you need while also allowing you to continue the development or design you're already doing (if you desire).

In this article, we're going to take a deep dive into the what, why, and how of building your own WordPress maintenance business. Buy the end, you'll have a firm grasp on how to launch yours.

Step #1: Choose Which Services You'll Offer

First, you'll want to choose which services you're going to offer clients. Before you can offer maintenance services to your clients, you need to know what you're going to offer. The options here are numerous, including:

  • Website registration and hosting: They need to have this anyway, so why not incorporate this into the services you offer?
  • Security: You know what can happen when a site gets hacked. This is a huge problem that's only going to get bigger.
  • Backups: Every site should be backed up on a regular basis. If something goes terribly wrong, the only way to restore it is from a backup.
  • Ongoing design and development tweaks to the site: Your clients will want things to be changed. You can offer these changes as part of a monthly package rather than needing to start a new project every time.
  • Content changes and creation. Some of your clients won't be comfortable creating and uploading their own content. You can charge them to do so.
  • Social media management. Your clients probably know they need a social media presence but some may not know now to do it.

There are numerous other options you can offer, such as analytics, email marketing, online advertising, and consultation. Choose the services that will generate the most revenue while requiring the least additional work to what you're already doing.

If you choose to offer only maintenance services, you have the option of partnering up with other designers and developers who aren't interested in the maintenance side of things.

Step #2: Determine Your Pricing Model

The next step is to determine how much you'll charge for your maintenance services. Before you can do this, there are several factors you need to take into consideration.

What are your monthly expenses? You must be able to cover your monthly and annual expenses, allow space for slow periods and client acquisition, as well as take into account your own margin. Don't underestimate this or you'll end up charging too little, which is difficult to back out of once you've offered it to clients.

How much does your competition charge? Evaluate your competition and then determine how you'll stack up. Don't necessarily try to offer the lowest price, especially if you're offering superior services.

What service tiers will you offer? Creating several tiers of services at different price points allows you to take advantage of higher paying customers who want superior services while also offering a less expensive option to those with budget restrictions. Additionally, if you start a client at a lower tier you can slowly nudge them toward choosing more services.

As you negotiate with your clients, don't let them determine the price. They probably don't have a true understanding both of what you offer and what services like yours normally cost. Plus, there is always someone will to offer bad service at a lower price. Don't engage in a race to the bottom.

Also, always ensure you plan for things going bad. You will encounter problems that take an inordinate amount of time, so factor those events into your price.

Step #3: Promote Your Services

Now that you've established what you're going to offer and how much you're going to charge, it's time to start telling the world. The first step is to create a detailed "Services" page on your website. This is going to be the primary place you send potential clients who are interested in hiring you.

Here are some key things to consider when crafting your services page:

It's all about the benefits. While you certainly want to describe the specific services you offer, you should spend far more time focusing on how your services will massively improve the lives of your customers. Remember, ultimately you're selling peace of mind. Your backup, security, optimization, and other services allow the customer to know that everything will keep working smoothly. Paint a picture of the good life when discussing services you offer.

Set yourself apart. You need to be able to set yourself apart from your competitors, either through price, number of services, quality of service, attention to detail, or some other factor. Don't be afraid to explicitly say why you're a better choice.

Press in on the pain. Acknowledging specific customer pain points allows you to offer the solution to the pain. It shows customers that you have very pointed solutions to their difficult issues.

Make it easy to contact you. This should be obvious, but it's neglected far too often. You want new clients, so don't make it difficult to contact you. Put your contact form front and center.

Another simple way to advertise your services is to begin promoting them to your circles on social media. There's a significant chance that at least one of your contacts will want or know someone who wants WordPress maintenance services.

Continue reading %6 Steps to Building a WordPress Maintenance Business%


by Stephen Altrogge via SitePoint

Webconf.asia

Colorful launching soon page with a hint of brutalism announcing the upcoming Webconf.asia event.

by Rob Hope via One Page Love

Cyber-Duck – Augmented Reality Christmas Card by

Cyber-Duck - Augmented Reality Christmas Card

One Page website that hosts an augmented reality Christmas card message from digital agency, Cyber-Duck. After installing an app, signing up, then returning to this website - you can experience the interactive message. Difficult to explain but their promo video does a good job. Nice touch with the duck characters (from their logo) appearing around the 3D snowman:)

by Rob Hope via One Page Love

Understanding Forms and Events in React

Firebase Security Rules