Filr - Your online file folder

Secure small file storage

ยท

3 min read

Filr - Your online file folder

Introduction

Filr is your online file folder. ๐Ÿ“ A small file storage app that aims at keeping file storage simple. No fancy extras of editing or sharing. Simply store your document and access it later and you can do whatever you want with it. Filr can be compared to how a physical paper folder works: you drop in a couple of documents and pick them out later when needed, but you don't edit your documents from within the folder.

Filr is my submission for the Hashnode & PlanetScaleJuly 2022 hackathon.

Inspiration

Now I know some one is already thinking, but we already have the big boys of file storage like Google drive, One drive and the rest. So why add Filr? Well, Filr does file storage a different way.There is a lot happening on your Google drive besides just storage, and even though the extra features provided are helpful, it at times becomes too busy and less focused. This is where Filr comes in with its single focus which is storage. Let Filr be that one place where you store your files and that is it. When you want them, you can download them and then go ahead to do any edits or shares.

Ok, so why small files only? Well the decision for small files was partly due to limited server space ๐Ÿ˜Š but hold on to that thought, because when you think of it, its the small files that take up the most space on our phones or other devices. When time comes for clearing space, they are the ones that are disposed of, not necessarily because they are not that important but because they are easily disposable.

So instead of deleting your important small files, let Filr keep them for you, and you can access them whenever you want. For the demo app the maximum file size accepted is 8MB.

So what makes Filr different form the rest;

  1. Focused on small files only (currently 8MB maximum file size but will be revised to 1GB maximum)
  2. Focused on storage only - it is your inline file folder.

Tech Stack

This is Filr's DNA;

  1. Laravel framework V8 with PHP 7.4.9, Bootstrap 4
  2. PlanetScale - Open source MySQL database.

About PlanetScale

PlanetScale is a new approach to database set up and management (to me at least). It is a MySQL based database platform and therefore compatible with many web frameworks and languages.

One feature that impressed me about it is the way a database can have branches, similar to what Git/Github does with your code. So you can have a development branch of your database and when ready simply promote it to production and boom ๐Ÿคฏ, you have a production ready database.

branch.JPG

Building the app

Filr has an easy to follow set up procedure for Laravel in their documentation

I faced some challenges while initially trying to connect to the database and this is what i figured out;

  1. If you work behind a proxy server you may face some hardships connecting to PlanetScale. If you don't have the authority to alter the proxy settings, use a different internet connection to connect to PlanetScale.

  2. PlanetScale will only accept secure connection requests. So make sure to configure the path to the Certificate Authority (CA) root for your development platform properly.

  3. If after configuring the database username and password env variables for connection to PlanetScale, you still get an error similar to the one below;

config error.JPG

... check/edit the path to the CA root.

Future Work

  1. Increase maximum file size to 1GB.
  2. Improve UI presentation of tabular list of files uploaded.

Credits

Give honor to whom honor is due;

  1. Landing page initial theme by BootstrapMade
  2. Folder icon by Freepik - Flaticon
  3. People folder illustrations by FreePik
  4. Hashnode
  5. PlanetScale

Useful Links

  1. Filr
  2. GitHub Repo
ย