Photo by Stephen Phillips - Hostreviews.co.uk on Unsplash

When it comes to WordPress, there are TONS of options out there for hosting. Almost every option that supports running PHP seems to also support installing WordPress.

It’s relatively trivial to install a WordPress site on a PHP capable server. At most, you can follow WordPress’ own 5-minute instructions, which covers downloading the packages, loading them on your server, and then running WordPress.

Of course, these “5-minute” methods, for whatever reason, always seem to lead to hours of headaches… Often, for silly reasons... It’s usually not worth the headache, even with the 5-minute promise.

That’s why WordPress hosting providers typically also have the 1-Click install options. You might as well just use the hosting providers option to install WordPress and then be on your marry way. …


Photo by NeONBRAND on Unsplash

When you’re coding up a website, chances are, you’ll end up adding a form sooner or later. Whether it’s for a simple email newsletter signup, a registration form, or a contact form, webforms will likely make an appearance. And, you’ll probably be wanting to validate the entries users are typing in before writing to your database.

With the Alpas web framework, validation is one of the many batteries-included features available to you.

In the Alpas backend, when you are calling the form data over http, you can apply a set of pre-configured rules.

Let’s look at the following example:

fun…


Photo by Mikaela Wiedenhoff on Unsplash

Previously, we captured an email via a Stripe purchase flow and generated a test email within the Alpas framework.

Now, let’s hook this all up with an email service and deliver a real email! 💌

Add mail service dependency

For this example, we’ll use SparkPost as our email service provider and add the dependency to the build.gradle file.

Add the following line to the list of dependencies:

implementation 'com.sparkpost:sparkpost-lib:0.21'

After adding, refresh Gradle to import SparkPost into the project.

Create a driver

Now that we have SparkPost added to our project, we can now create a mail driver. …


Photo by Daniel Bradley on Unsplash

Previously, I showed you an example of integrating Stripe payments with Alpas and providing the Kotlin equivalent to some other examples provided by Stripe. Then, in a follow-up post, I showed how concise Alpas is as a framework by reducing that example even further.

Now, I am going to work off of that latest example and show how you can capture an email address and send an order confirmation email. This will be a multi-post series and, in this post, I’ll lay down the foundation of capturing an email and making it available to the Alpas back-end.

Get the front-end ready

To get started…


Alpas is a concise web framework built with the wonderfully statically typed Kotlin development language.

Previously, I showcased using Alpas for a Stripe payment example. I used the standard file structure to create that example and showed how you can easily add Gson into the Alpas framework.

However, after looking through my previous post and while thinking how concise Alpas is as a framework, I wanted to tweak the example a bit to reduce the code and show off Alpas’s conciseness.

The result is the image at the top of this post.

In the revision, I brought everything into a single file, simplified the routes, removed some unnecessary code, and switched from Gson to Jackson, which is already built into Alpas.

The result is a nice, clean, single page of back-end code that works with Stripe’s payment example.

As in art, less is more. 🎨


Photo by Ganapathy Kumar on Unsplash

We’ve lifted our heads up long enough to realize that it’s been 5 weeks since our last Alpas update. Wow, time flies when you’re working hard! ⏳✈️

So what have we been up to? A lot! And, when will you see what we’ve been working on? Very soon!

In our previous newsletter, I mention that we are working on a surprise. That surprise is Cleaver, a SaaS server provisioning and app deployment tool, and we are getting super close to bringing it to beta.

Not only will Cleaver make deploying Alpas apps a cinch, but since it is a very…


Photo by rupixen.com on Unsplash

We have been planning to build a Stripe payment plug-in module for Alpas for a while now and then create a tutorial on how to work with it.

Well, it was a little unplanned but I got called out and challenged to create an example Stripe payment plugin for Alpas by way of Twitter today.

That’s Ashok challenging me. He knows I’m competitive and can’t resist a good challenge. Especially, one against the clock! ⏰

This is before I even really knew what the challenge was. 😂

Then, I looked at what the source of the Twitter comment…


Alpas is an awesome framework for making web applications. Alpas also works extremely well if you’re looking to build an API only app. In this tutorial, I’ll show you how you can make a simple RESTful API using Alpas.

Here is the list of tools and things that I used. 🛠

  1. IntelliJ IDEA for coding, building/running the app, and debugging
  2. The Alpas starter template
  3. Postman REST client to interact with the API; Insomnia would also work just as well

With the Alpas starter template, I removed pretty much all of the front-end web stuff to slim it down. You can…


Photo by Ehud Neuhaus on Unsplash

If you’re working in a lower environment, chances are, you are working with data and you need a good way to seed your databases after a database refresh.

I’ll show you how you can expand the built-in data factory in the Alpas framework to quickly seed your database with the dummy data of your liking so that you can get back to coding.

If you are working off of the Alpas Starter Template, you will notice a couple of folders under the database folder: factories and seeds. These two folders contain default database factory and seed files.

In UserFactory.kt, …


In a previous tutorial, I showed how you can create a ‘Show More’ button that utilizes AJAX in order to call and present more data without reloading the page. I thought I’d also show you how you can accomplish a similar task with VueJS.

Did you know that Alpas comes with VueJS pre-loaded out-of-the-box? It’s just another way in which Alpas reduces setup time and friction so that you can quickly start coding awesome web apps. 💪🏽

If you are unfamiliar with VueJS, it is a JavaScript framework that drastically improves your ability to create interactive and powerful front-ends. If…

Adam Miedema

Entrepreneur and Co-Founder of Little Bets (makers of Alpas and Cleaver)

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store