MicroRL - URL shortening, made simple Published the 2017-10-25 [siler]: https://github.com/leocavalcante/siler Jumping directly in the presentations from my first finished project that was Nexus, let me present my latest project: MicroRL (Real name: `µRL`). > Sooo... What's that ? I recently made a small a basic URL shortener, still keeping the simplicity and lightness aspect in mind. I first got the idea when I was publishing some links on IRC, but using the Tmux IRC client, some URLs were cut by line return. Being quite bothered by this bug, I thought for myself "Hey, what if I made a URL shortener for myself ? After all, it's quite the basic and classic project!". Then..., I forgot about it. Later on, I got this problem again, and when I wanted to send some links on twitter, it also limited me. This time, I decided to keep the idea from when I had some free time to spend, and I sometimes thought a bit about it. At the sime time, I started tinkering with a small PHP routing library, called [siler][siler] (library I made a few PRs on). When I decided to take on the project, and when I started wondering about what I'd use and how I'd make my URL shortener, I decided I wanted those "new" fancy URLs (you know these URLs that have no "file extension" and are all treated by the same file, like `https://test.abc/this/is/a/fancy`)! As I wanted my tool to be lightweight, I decided to use Siler. For the database, like always, I've been working with PostgreSQL, as I have a nice DB setup running and it kinda suits my needs here. My main concern was about keeping it simple (Remember, KISS) while still fully functional by its primary function. So no over-complicated interface, a simple form field and button would be way enough for me! For such a tool, no fancy-looking javascript or CSS library would be useful right? So I decided to go with in-page CSS and JS with only 10 CSS item changes. Barely enough! A simple form with one field and a submission button, a small form request redirection and voilà! The entire client magic is done! ## Where can I find the project? The project is sadly not up anymore, due to some git spring cleaning, which reaped the long-dead repository. The "upgrades" listed below never came to light, sadly. ## Some upgrades that may be done later on I have some ideas to make the µRL tool "better". Some small and (almost) lightweight features to add. Here's a small list of these features: - More "random" tokens. - Cyphered URL storage, with random key generation. - Uploaded URL removal. That would require some work to secure the call, as we don't want someone to simply remove an existing URL. - Stats for URLs count, most shortened websites etc. Spam wouldn't be prevented, but an API key would be required with each stats request, as gathering and calculating all the data can cost some time. ## Conclusion As I could see by myself, making a URL shortener is quite simple, fun and can really come handy later on! I still have a lot of ideas for this URL shortener. Some are easy to implement, some are harder, but all of them are definitely nice to do!