How I made my own open-source project with no programming knowledge

Reading Time: 2 minutes

As I’ve stated, a couple of times in the past, I do not have any prior experience in the field of programming.

While working on LittleLink Custom, I was able to learn a bunch of new things I wouldn’t even have touched otherwise. I’m self-taught in everything I do here. Before all this I could not even write a ‘Hello world’ in PHP let alone know what Laravel even was.

Before I started working on LittleLink Custom, I had some fairly rudimentary knowledge of HTML and CSS. This helped me to understand the basis of this project.

I started work on this project simply because I really had some difficulties setting up LittleLink Admin by Khashayar Zavosh. This mainly was the fault of Laravel itself, and ultimately was caused by a compatibility issue in the database configuration.

Aprillio Latuminggi seemingly had the same problems setting up his version of LittleLink Admin, so he made his own fork, fixing this problem and adding some features in the process. At first, I made some minor adjustments to my version and finally added my own set of features that I thereafter committed to a forked repository of Aprillio Latuminggis version of LittleLink Admin.

I set myself a goal of specific features to add until I would make my own independent fork of LittleLink Admin, and quickly after I reached this goal and made LittleLink Custom.

My main dislike of Laravel is how rather difficult it is to deploy on a web server. I really like web applications like WordPress that are simple drag and drop solutions, and I’ve soon started working on achieving exactly that for LittleLink Custom.

To do this, I had to commit the cardinal sin of moving everything from the Laravel’s public directory into the root directory. This is generally a bad idea and discouraged from Laravel itself, as it poses major security risks, the public directory was designed to prevent. To combat this, I implemented some protection via the ‘.htaccess’ file, but this has to be configured manually if hosted on NGINX, for example.

In the end, all this allows this web application to simply be dropped onto your web server with no extensive setup required, which to me is pretty marvelous considering the Laravel framework.

Most things I implemented I learned how by simply googling the subject or looking at already implemented examples in the source code. This project allows me to always learn new things and challenge myself in new ways. Considering this is my first ever GitHub project and me having no prior experience, I’m surprised how far I got with this.

I’m looking forward to learning about and adding many new features in the future.