2

I wanted some help to make my final project. It is a site that uses SQL, how can I do that? My preference is for a free hosting provider?

Specifying the question:

  1. What free host can I use?
  2. How to configure?
  3. How to configure a SQL database with the table I already have inside appliance`s phpmyadmin?
0

Great question - I'm currently working on my final project and this was an issue I initially struggled with and have worked through. I'm really glad I did because I have learnt a substantial amount.

I have been using Heroku to deploy a Flask/Python web application for my final project (including MySQL). I have found plenty of documentation online (searching terms flask/python/heroku provide some good example setups).

PRICING

There is a free tier which provides core functionality (thus far it has been enough for developing my final project). I imagine if you are serious about taking an application to the next level and maybe monetizing it you would need the added functionality and security you can build-in with the higher tiers.

https://www.heroku.com/pricing

CONFIGURING

Heroku had great documentation and a simple setup when it came to configuring my app (for example: the MySQL database: https://devcenter.heroku.com/articles/cleardb#the-complete-tutorial). The process I followed:

  1. Start with a basic setup e.g. "Hello, world" to print via python/flask on the public internet.
  2. Connect to your database (configure this using a Host, Port, Username and Password which you should get from the database provider) to your IDE (it is common for IDE's allow you to test the connection after configuration).
  3. Carry out some simple table creation/data insertion operations.

Beyond this, your CS50 knowledge should prepare you to develop something much more advanced from this point.

As for your data migration, I am sure if you have the database configuration details (those I mentioned above) you should be fine to connect to that database instance, alternatively, select a Heroku add-on database and migrate your data directly.

All the best.

0

Although Heroku and other PaaS platforms have certain benefits, it's always much better to deploy your website on a VPS (virtual private server). They are not free, but plans start just below $5 for a really basic server (like 512 MB RAM, 1 core CPU and 10 GB of disk space). While Heroku offers free plans, you're really limited to their environment: you have to learn bunch of configurations, that you'll never use outside of Heroku and you have a limited access to the Linux OS. For me, it all ended when I had to convert my SQLite database to PostgreSQL, and it all crashed without a clue how to fix it. All other Heroku plans are way more expensive and you can easily get charged, if you suddenly have too much unpredicted requests (like somebody with 1 million subscribers suddenly shares your link on Twitter).

For educational purposes it's better to start learning Linux, because eventually you'll have to do that one day. You can also deploy several apps on one IP (using different ports) to save money.

Check out my tutorial with pretty detailed instructions on how to deploy a Flask app on a VPS – https://timnikitin.com/post/how-to-deploy-your-flask-website-on-a-server.

Hope this helps!

1
  • Thank you for this response. I was searching for this, since I had the project idea but I wanted it to be a more "real-world related". Nice post on your site as well! – Dement0 Jul 31 '18 at 14:49

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .