Hi, I am a complete newbie to web application development. What I want to do is build a web application based on an excel tool that I have created. The excel tool looks fairly simple but behind the scenes there are fairly elaborate formulas. The excel tool creates a Site Installation Document for a telecommunications mobile site. Certain cells take user input and the output cells contain the formulas which interrogate the data source worksheets through complicated conditional statements, pattern matching and mathematical formulas. One output that I can’t produce in a nice way is extraction of a certain page of a pdf document and pasting into my excel file, this has to be performed manually based on the page number that is displayed in one of the output cells. So for example a telecommunications network could have 10,000 sites, each site can be classified as one of 200 site types. So the user input is to declare the site type and some optional extras and the output is the site specific Site Installation document after interrogation of the library of data sources, excel tables and pdf documents.
I was thinking of using Dash because I could stay within python code and have all the html, css and java script abstracted. Dash also offers analytical applications that would allow the tool to grow beyond documentation automation into a supply forecasting tool, forecasting hardware required for sites and graphically displaying project milestones.
Building the app will involve three main phases:
-
Data loading, wrangling and manipulation: Perform operations to read and transform data for display. So, I could build a mySQL database from the various excel data sources or possibly just read into pandas dataframes. The pdf files could be read in, separated into individual pages and the page extracted based on the page number displayed by the conditional logic.
-
Dashboard Layout: Visually render data into output representation, GUI design. I would design this based on my excel tool display, so the app would need to be multi-paged.
-
Interaction Between Components : Convert user input to commands for data manipulation and render. Dash uses “callbacks” to enable this interaction between user input and output reporting. Essentially, they will be the Python coded elements that will perform the same functions as the excel formulas in the excel tool prototype.
The web application would also answer many of the issues with the tool in it’s present excel form relating to collaboration, version control, integrity, continued maintenance & development.
So my question is can Dash provide me with everything that I need to realize this web application? Am I better served with Flask or Django. I have been struggling to research the differences and the use cases associated with each.
Any steer or feedback would be much appreciated.
Thanks, Donnie.