Need to set up a simple website with a simple database, free and quickly

So I am a front-end dev in the creative department of a large company. If we have a project that requires any kind of back-end work the company has an IT department for that work. But for various reasons getting the back-end work done by the IT dept. can be slow or problematic. So we are looking at starting up a sort of a mini “skunk works” within our creative dept., and I have been tasked with setting up a very simple test page in which a zip code is input and various businesses with that zip are then displayed, along with a map and pushpin locations.

Difficulty: zero budget. And I don’t have much back-end / DB experience but I’m moderately intelligent and think I could get up to speed with some kind of DB solution pretty quickly. I have access to a Linux-based company server, but only FTP access, so I don’t think I’d be able to install MySQL on it. I’m sure there are many solutions: Amazon Web Services looks like they host a free Cloud DB, “Amazon DynamoDB”, but it’s something proprietary called noSQL. Not sure how far I want to go down that rabbit hole. I could probably even install a DB on my work computer and serve it out somehow, right? I don’t have to worry about bandwidth or securtiy much for now. If this catches on, I assume a budget for a scaled-up solution will materialize.

The sample size is tiny, like only 8-10 business addresses to start, so I could easily set up the info in Javascript object arrays and knock this out by next week, but that would be cheating. Oh yeah, my Front-end skill set is pretty old-school, not much Angular or other frameworks, pretty much HTML/CSS/JS/jQuery.

Interesting Question. If you are doing this for a POC/Quick app, I would recommend installing the DB locally. You mention MySql, and if that is something you would like to start with, I would suggest using either MariaDB (the new MySql), or PostGreSql that you can install locally. Note, this would have NO security so before putting this on the Web, you should definitely go through your IT dept. You may also want to setup a Virtual Machine on your/some system. This way you can setup just a DB server, with nothing else on the VM. I use that setup for my home dev structure. I usually run 2 or 3 VM’s at a time (db, apache or MS Visual Studio, and MC for the kids).

Good luck with your new project. I like the start-up projects as I usually get the build it out how I would like to. Lots of Fun.

Well you may not need a database. It could be done from the browser. Write some Javascript that makes an API call to Googlemaps to look up the Zip code and the Googlemaps API may send you back some JSON and an image of the map that you can make look glorious on a web page using your front end skills. This is a good place to start:

Well, there’s this: https://www.freesqldatabase.com/

The ‘free’ version of the service has a size limit of 5MB, which is pretty paltry, but this is for a proof of concept, right? Presumably if it proves the concept, you’ll be moving it to a supported model?

I hate to be that guy but do you have plans for how the thing you are intending to create will be maintained and supported in future? - I have seen so many cases where enthusiastic people independently created production systems for their business (because they felt that corporate IT was ‘too slow’ or something); the person who builds it then leaves to pursue new goals, leaving behind a solution that is simultaneously business critical, slightly fragile and unconventional, and completely unsupported.
At this point, people call desperately to corporate IT in the hope they will adopt it into support. That never goes well.

What a crazy random happenstance, just yesterday I started seriously looking into AWS for somewhat similar reasons: I wanted a dynamic webpage with a database backend that will allow simple lookups, record entries and updates. I spent some hours poking around and I see I could set something up relatively quickly, but for the life of me I could not figure out if what I built there would be public-facing without them starting to charge me immediately. If anybody knows a conclusive answer to whether or not I can do it for free using AWS (for the first year at least) I’d love to hear it.

I echo Mangetout’s warning about maintenance. If you don’t have institutional support for what you create, this will come back to bite you later.

Thanks for all the replies so far!

@SoToasty, I was leaning toward just setting it up on my local machine- if for no other reason but to get up to speed on MySQL, and figure out how to serve it out later. Would I be able to set up a virtual machine on my workstation for $0? I’m on a PC running Win10.

@filmstar-en, thanks for the Googlemaps API! There will be a dynamically loaded map involved. Unfortunately I do need to set up a DB though because that is kind of the whole point- to see if we can get a simple POC site with a back end up and running. Like I said, the dataset is so tiny I could just set up JS object arrays and get it up and running fast. I might just do that to make sure the functionality is what the designer envisioned and figure out the DB later.

@Mangetout, freesqldatabase.com looks like it could be just the ticket-- thanks!

@Ponderoid, yeah, I was leaning away from AWS because of the proprietary noSQL, and your questioning o how free it is gives me further pause, thanks.

And, Mangetout and Ponderoid, I agree on the necessity for proper infrastructure and maintenance. This is not intended to do it all ourselves, just more of an experiment in understanding what’s involved in setting up back ends so we are more informed when we do future project work with our established IT dept. So the left hand has a better understanding of what the right hand is doing, kinda thing.

0$ is always good :slight_smile:, and the answer is yes. Oracle has a VM Virtual box. I have 2 machines running right now on a Dell Inspiron laptop with 16Gb, and one of those is MariaDB. I was running it on 8Gb, but un-fortunately, my daughters laptop died and she needed a new one, and I scavenged her memory and SSD drive.

Setting up MySQL or MariaDB is easy whether you do in on you Win 10 Machine or in VM on your desktop running linux. Mine is on a VM running CentOS 7 and MariaDB 5.5. The VM is allocated 1 processor and 1024 Mb memory, and 10GB hd space. That is probably the minimum you would want to run on, but that is fine for my development and testing.

There’s a lot of players in this space and you might not need to go down that far (down as in down the stack to the metal, as opposed to using a cloudy solution). Don’t reinvent the wheel if you don’t have to.

The easiest is probably something like Contentful.com, which is a headless CMS that gives you a space to store abritrary data in fields. You never have to worry about the infrastructure, and there is a free tier. You just connect to it via an API from your front-end stuff. Once you’re ready to deploy to live, you can keep using Contenful and hook it up to something like Netlify. There are a bunch of demo projects/starter kits on Github if you want to go this route, and there is very minimal manual coding involved.

One level down, if you need more control, consider Google Cloud (or their Azure and Amazon equivalents, which you’ll have to look up yourself). Most have free tiers and free trials (for products not included in the free tiers). Something like Firebase, or BigQuery, or CloudSQL or even Google Sheets, which is enough for what you want to do in your demo app.

If you really do want to host your own stack, no need to spin it up from scratch. Something like Lando will spin it all up from scratch with a single command, or you can use the old-school XAMPP/WAMPP/etc. All free.

If I were you I’d strongly consider the headless CMS route. Contentful is the easiest to use, but there are a few players in the space. Prismic is another commercial option. Grav is an open-source flat-file headless CMS, if you never want to deal with a database. Drupal with their REST modules is another (excruciatingly painful, not recommended) way of doing this, as is Wordpress with Advanced Custom Fields (much less painful, but still not as easy as Contentful).

So in summary: Don’t necessarily ask “how do I spin up my own database”. You might not need to. Instead, it’s more a question of “how do I feed dummy data to my frontend apps”, and something like Contentful makes that a lot simpler. You can also look into fake APIs that just spit out predetermined blobs of JSON or similar for your frontends to consume.

A caveat here is that you may need more querying capabilities than some of these offer. Like if you’re doing a lot of geo stuff, you may need a database (Postgre or a later MySQL) if you want to do more complex geographical queries, like say select all restaurants within 500 feet of this river’s banks.

Thanks Reply, great info there!

I’m just going to throw one more hat into the ring:

Netbeans + Glassfish + database of your choice. It’ll let you set up a Java-based webserver with database hooks. All of this you can get for free.

It becomes more useful if you want to get zesty with the back end code, admittedly.