Developing private themes for Shopify isn’t that difficult, but you may encounter unexpected issues

Image for post
Image for post
Shopify

I spent the latest three working weeks to develop a full-featured Shopify theme for a customer — and it was harder than I’ve ever thought. I passed three out of four Partner Academy certifications in the last months: it has been a great opportunity to understand how Shopify works and how-to build something with its platform. Anyway, being ready for production requires more than a certificate to actually deal with third-parties projects… especially if customers don’t come from the ICT sector. Here’s how I achieved the goal.

Agile/Scrum

First of, I’m working for a local startup (although this project took me back to the days of freelancing) as a front-end developer. We adopted an Agile/Scrum methodology with week-long sprints: shorter than usual. My CEO and I tried to apply the same framework to this consultancy, and I had three weeks to do the job. Being a mobile-first business, we agreed to spend the first sprint on the mobile version of the e-Commerce theme. I’ll had had to build the desktop version in the second to be ready for production in the third. …


How-to manage multiple accounts for GitHub and GitLab on the same Linux machine with different SSH keys and e-mail addresses

Logo of Git
Logo of Git
Git

Yes, I know you have more than a single Git account on the same machine… and I bet it turns you mad often. So do I: there are at least two different methods to manage them. Below, I’ll show you both (and I’ll explain which I prefer and why); especially if you need to handle multiple sub-repositories in a Git Flow way. It doesn’t really matter your workflow, neither your company role, but you may seriously consider to separate your local configuration. Otherwise, it will be confusing… and make you loose lots of precious time.

As a freelancer, I’ve never considered this use case. I used to work by myself on my clients’ projects, so I didn’t face the problem to split my GitHub account in two to separate my personal code from my company’s. Now that I’m working for a startup, and I have at least two colleagues at a time, I need to secure my SSH keys: plus, my company chose GitLab instead. That’s lucky, because the two platforms suggest different encoding algorithms and I don’t have to save keys with a potential naming conflict on Linux boxes. …


How-to develop a Vue.js SPA from scratch with Docker Edge and Visual Studio Code on WSL2 under Windows Home

Logo of Vue.js
Logo of Vue.js
Vue.js

Some weeks ago I published an update on how-to get Docker working with Windows Home, since the experimental channel added a dedicated support for it via WSL2 as a backend. Well, finally I had the opportunity to try it for my company’s infrastructure: it worked as I expected, although the CEO said otherwise. We chose the Vue.js framework to create our assets, so I’ll focus on it; I installed Ubuntu 20.04 LTS, because recently Canonical provided an optimized version of its distribution for WSL (Windows Subsystem for Linux).

WSL (Windows Subsystem for Linux)

Taking advantage of WSL2 new features isn’t difficult at all. I’ve ever said that I love this subsystem from the beginning… because it lets me get rid of the dual-boot on my machines. Or, at least, it would: my company still requires a full working Linux system — but I don’t agree with my colleagues and I’ve just shown them that our infrastructure works from Windows Home. Nevermind, I have lots of side projects to take care, so I’ll do this with the setup I’m going to share here; why it matters? …


How-to optimize Ubuntu, removing useless locales from the Debian-based operating system

Logo of Ubuntu
Logo of Ubuntu
Ubuntu

I know, Ubuntu is a great Linux distribution, which comes with lots of useful pre-compiled packages… but sometimes there are just too many. I spent years in trying to get rid of useless features from the operating system and I’ll share my results here — as well as in a series of other stories. Being a Debian-based solution, you may be able to do the same elsewhere (on the official derivatives like Ubuntu Budgie that I love, for example). I’m Italian, so I don’t need the different English localizations, coming from a standard installation.

English is crucial for my job, but I don’t like to have a hybrid system that speaks two or more languages and Ubuntu supports Italian since its first releases: below, I’ll try to show how-to make it speak only your mother tongue. Although this short guide is based on version 20.04 LTS, most of the commands work on earlier versions yet. Of course, I’m going to use an it suffix for packages, while you should change them accordingly in each code snippet. Let’s start removing useless dictionaries, locales, etc. …


How-to build a Flutter ecosystem for Dart to develop web applications on Ubuntu with Visual Studio Code

Logo of Flutter
Logo of Flutter
Flutter

This is a sort of spin-off, because I don’t work with Dart yet, but I plan to do so in the near future. Being in quarantine since February, 26th (yes, I was born and I still live in Lombardy) I have lot of spare time to spend on learning new skills. Since I don’t work with “native” languages either, I built a web-based ecosystem: it’s still in beta and you shouldn’t use it in production. Flutter can deal with several platforms and I chose to get it working on Ubuntu 19.10 before trying it on WSL2 under Windows 10 too. …


How-to install Docker Desktop Edge for Windows Home and WSL2 to work with Visual Studio Code

Logo of Docker
Logo of Docker
Docker

So, when I was writing about WordPress and Docker Composer, a new version of Docker Desktop was released: it’s finally compatible with Windows Home and WSL2 — without the need of a full, native Hyper-V support. Why should you care? It would have been saved hours of work in a company I worked for. Bet it, there still are companies which use budget laptops and some developers have a pre-installed version of Microsoft’s operating system. Finally, Docker provides a solution for all of them.

Docker Desktop Edge

Getting Docker Desktop has never been easier. You know, computers are usually sold with “limited” or family version of Windows for many reasons: they implement poor hardware to lower their prices and most of the customers don’t actually need a developing or a gaming machine. OK, but what about programmers forced to adopt a BYOD policy for limited times? Right know I have only two budget laptops, one with Windows Home and another with Ubuntu, then I couldn’t work on both in the same way before. …


How-to install Laravel with Composer on Ubuntu to get started with Artisan

Logo of Laravel
Logo of Laravel
Laravel

You may wonder why I need a Laravel installation on my machine, being basically a front-end developer (with full-stack skills). Well, I see that PHP is yet required by employers to date and this framework is so hot right now — as it used to be Symfony some years ago. It could be integrated with WordPress and includes Bootstrap to easily create web publishing platforms… so I decided to give it a try. This reminds me when PHP-Nuke was still a thing. It also seems to work well with client-side JavaScript frameworks and libraries.

If you read my previous story, then you already know that I’m involved in WordPress development and I mainly work with Ubuntu. Starting to understand Laravel isn’t hard on all the available platforms: you may get it running everywhere, as long as you can install Composer. It’s a so-called dependency manager for PHP to make package installations easier just like npm for Node.js. Of course, you need a web server such as Apache or NGINX too; I chose the first, because it has a great built-in support for the language. …


How-to deploy custom WordPress themes and plugins in a local container handled by Docker Compose on Ubuntu

Logo of Docker
Logo of Docker
Docker

I know, there are lots of tutorials about running WordPress with Docker… and I followed some of them to get it working on my machine, too. But I had issues they didn’t consider, so I want to share how-to avoid them: you may run multiple servers under the same operating system just like me — and that’s an annoying problem. Yes, because you need to reserve local addresses and ports which could be already taken by other services; in this case, Docker Compose won’t work as expected (and isn’t easy to immediately understand why at all).

Docker CE (Community Edition)

First of, you need to install Docker. I’ll show you how-to do so on Ubuntu 19.10 and later, but (as long as you have a working Windows 10 Pro copy) you can do the same under WSL2: it was the best choice for a startup I worked with. Unfortunately, it doesn’t run on Windows 10 Home,¹ because you need full Hyper-V support to get it running. Let’s say that a “native” Linux installation is preferreable; on every Debian-based system you can follow the same steps below. Here’s the official way to install Docker CE on…

About

Federico Moretti

Federico Moretti is a front-end developer from Varese who provides solutions in HTML, CSS and JavaScript for small and medium-sized businesses as a freelancer.

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