Web Application Development

Job ID: 33094712

Budget: $1,500 – $3,000 USD

Hi there,

I have developed a fairly large python application which I would like to deploy in a secure fashion without sharing the original source code to the end user.

A bit of background into my program:

The program monitors data received from, and responds back to an API connection.
The python script utilizes an extensive list of common python libraries of which one is an API connection through socket-oi which needs to be continuously sustained for the program to operate as intended.
Once executed, the program is expected to run continuously using a while loop until a user stops it from running. This could be up to 2-3 days at a time
During operation, data is retrieved from a .ini configuration which is used to create local variables for use in the function-based calculation processes.
Throughout the process, the program sends and received data from the API connection that was established in the initiation stage.
Progress updates are written to a JSON file during each iteration. A typical iteration could take up to 5 minutes to complete.

What I would like to achieve:

My target customer would not have any programming or networking experience.
I would like assistance with developing a web application that will be capable of deploying my python code to multiple users at a time.
Each user should be able to sign-in to their profile using a web client. Once signed-in, they need to be able to start or stop the python script, view the progress update file on a HTML table and change the contents of the .ini configuration file if needed.
The web app should also have some way of separating user instances through a virtual environment of some sort. Users should not be able to access any other files other than their own. I have also found that when the main script runs in a terminal, another instance of the same script cannot run in another terminal as the socket connection used by the API does not allow this. I’m not sure how to solve this issue yet, and would be open for recommendations?
Once completed, I would like to host the application from AWS or Google Cloud, but if the VPS does not support long running processes, a Windows or Linux based self-hosted server would also work. Thus, some form of containerization may be required.
I have not yet committed to any specific system architecture and would be open to suggestions. As far as possible, I would like to stick to Python, HTML and CSS based solutions as I do not have any experience with other languages. Although I know this might not be possible?
A partial website design would also be required (I have an existing HTML and CSS design for the page, but it would probably require some JavaScript and additional formatting to have it interact with the server)

Timelines:

My timelines are fairly flexible. I would ideally like the web application side of things to be completed in approximately 3 months if practical?


I have attached a draft flowchart of the system architecture components I have identified that may be suitable for to achieve the goal.

Please let me know what information you would require to enable you to provide a project quotation, and what your thought are on the suggested architecture?
Related categories: Python Django HTML5 Flask