The mini project is a combination of some tools and technologies that are new to my knowledge and tools such as SQL and Python that I have used in the past.
The application builds visualisations based on the queries it asks the users to input on the dashboard; a dashboard for data stored on SQL databases.
The connection to the SQL database is established using the mysql.connector written within a function based on updated credentials.
Flask API is the heart of the application which works with the endpoint /run_query and handles both GET and POST requests for sending and retrieving the input from the users.
A key feature integrated involves converting the outputs as graphs and creating charts using Matplotlib. The charts can vary as per the data being fetched.
The frontend is basic but does the job; the form collects the queries and displays the chart depending upon whether the query was executed or not.
The 'Dockerfile' - serves as an image for the Flask app and the 'compose file' - specifies the services that contain the multiple containers present in the application, two containers have been specified - Flask and SQL. They have been linked for the application to run.
While integrating containers and SQL, it became clear that using SQL while containerising the application was slightly different and needed some more setups to be done manually to copy the data.
The project lays a foundation for building more robust and feature-rich applications in the future, with opportunities for scalability, improved frontend design, and enhanced user engagement.