I’ve been trying to learn Flask over the last few days to know how it works. I usually build my web apps in Django, but I wanted to have a taste of the Flask framework.
Many developers told me that Flask is a lightweight framework, and it is pretty easy to learn. So I thought I should give it a try. Then I looked around the Internet to see the kind of apps that the Flask developers make. The research has been pretty interesting, and I found that Flask is used to create some amazing web applications.
In today’s article, I want to put together a list of projects that you can do by using the Flask web framework. I hope it will give you an overview of the kind of apps that can be made using Flask.
If you are not so good with the basics of Flask, check out this tutorial to learn the basics. If you’ve learned the basics of Flask, then pick one of the ideas mentioned below and start doing your project.
1. Weather App using Flask
The weather app is a cool project you can start with Flask. In this app, we’ll have a dashboard where the user can enter the name of a city and do a search by clicking a button. The app will show the current weather in that city.
How is it possible? It is not that difficult as you may think. We can leverage an API called OpenWeatherMap for doing this project pretty simply. You can go to their website and see a lot of available data and options.
If you’re interested in doing this project, I would highly recommend you to check out this tutorial created by the Pretty Printed YouTube channel. It will be a fun project to do.
2. Full Stack Social Network App
Social networks are a big deal nowadays. We all have been using social media for various purposes. If you want to create a social network of your own, you can do that with the Flask framework.
You can make use of Flask as a backend for this project. The full-stack social media app will have a database, server, and front-end. You can post whatever you want and customize the application according to your needs.
If you’re interested in doing this project, check out this tutorial by John G. Fisher on the FreeCodeCamp YouTube channel.
3. Portfolio Website using Flask
Every software developer should have a portfolio website. If you have done some projects already, you need a place where you can list all the projects so that you can show them to your employer.
A portfolio website can act as an online resume. You can create one using Flask and basic front-end skills. You can add all the projects that you’ve done and show your skills to the world.
Having a portfolio website is really valuable, especially if you want to get a job, or you want to get freelance clients. You can show your clients or employers this website, and they’ll be able to evaluate your skills and your work in a better way, which is very important.
If you’re interested in doing this project, you can use this amazing tutorial by Kalle Hallden. He is a great guy who creates really cool Python tutorials. Check out his tutorial to do the project.
4. Rest API with Flask
In this project, you’ll create a RESTful API using Python Flask. REST(Representational state transfer) is actually an architectural style for designing network applications. Web service APIs that adhere to the REST architectural constraints are known as RESTful APIs.
Along with Flask, you’ll be using some extra packages for building this project, including SQLAlchemy, which is an ORM (object-relational mapper). This will help you interact with the database without having to write SQL code on your own.
This project will also use Flask Marshmellow for serialization. Also, Postman will help you make requests to the API and get the data back, and such sort of things.
If you’re interested in doing this project, Brad Traversy from Traversy Media has a great tutorial that will help you do this project. Click here to check it out.
5. Feedback Form using Flask
You can create a web application using Python Flask, which can act as a feedback form for your company or any services that you offer. For example, if you’re a freelance web developer, you can use this feedback form to give to your clients or add to your website so that they can give you their opinion on your service.
Continuous feedback from your clients will help you to improve your services and thereby land more clients. You can use a free service like mailtrap.io for your application to send emails. You’ll also need Postgres and pgAdmin. After creating the web application, you can deploy it to Heroku for free.
If you’re interested in doing this project, check out this tutorial from Brad Traversy, which will show you how to do a project like this.
6. Deploy Machine Learning Models using Flask
If you know how to create machine learning models, it is really a great skill to have. But if you can deploy the machine learning or deep learning models into production, it will take your skills to the next level.
By the way, if you want to create machine learning projects, check out this article. Not many people know how to deploy their ML models into production. You can do that with the help of the Flask framework.
Most people prefer Flask for the deployment process since it is a comparatively simple framework. People don’t want the headache of using a complex framework in doing machine learning projects, which itself is a complex process.
If you’re interested in doing this project, check out this article, which will walk you through the entire process.
7. Blog App using Flask
Just like a portfolio website, a blog is a great place to show your skills to the world. You can code your own blog if you want to publish articles and share your knowledge with the world.
However, if you’re doing blogging seriously, I would suggest you use WordPress, just for the SEO benefits and less headache. But, if you want to know how a blog works from the inside, how can you create the functionalities, etc., you can create a blog with the help of the Flask framework with a little bit of HTML and CSS. If learning is your mission, I would recommend you to create your blog by coding everything from scratch.
If you would like to do this project, I would recommend you to check out this tutorial by Pretty Printed.
What to do next..?
I’ve given you a list of some exciting project ideas that you can implement. However, I would like to mention that ideas are cheap. Anybody can think of million-dollar app ideas with a little brainstorming. But, only a very few will execute it.
So, it’s not about the ideas, but it’s more about execution. If you have wasted your time to find out some ideas, stop waiting for more ideas and start implementing whatever project you like. If you brainstorm for a few minutes, you may also be able to come up with much better and unique ideas on your own. Consider this article as a starting point. Now it’s on you to do the execution part.
If you’re seriously into learning Flask, then I would suggest you check out the Python and Flask Bootcamp by Jose Portilla on Udemy. It is a great resource to learn Flask in the right way, and it will only cost you a few bucks. Click here to check out the course contents on Udemy.
I hope you got some value out of this article. If so, I would love to hear your thoughts in the comments. Also, feel free to ask me if you have doubts. If you have some other project ideas on your head, comment below if you’re cool with sharing them.
I would appreciate it if you would be willing to share this article. It will encourage me to create more useful tutorials like this.