Skip to content

Dev App Structure

Tarun Aditya Thurlapati edited this page Apr 24, 2020 · 2 revisions

Application documentation:

This is the documentation for developers who want to modify or debug it. The documentation is not through in the sense that, we have not included any material for learning technical aspects and has been made only for understanding the app structure, thus making technical knowledge a prerequisite.

This is the App Structure

App Structure figure

This is how the app works:

It is important to note that the app structure looks significantly different from the way it works. This happens so as to conform to MVC norms, and is enabled using imports and the way the web server inherently works.

App Structure figure
App Structure figure

This project was initially hosted on azure devops which has a great WIKI system as compared to github's (which is too bad for words). That is the reason the MermaidJS figures above are images and not actual MermaidJS renderings.

This can be thought of as an oversimplified call stack or callback trace, or whatever it's called

Traversing the callstack:

  1. So first, We use pip install to install the app
  2. When, we pip install it, the setup.py gives information to the installer as to how to install the app and its properties like, author, names, etc. (from setuptools import setup)
  3. Next we open the Python environment console which we will use to execute the lines:
import ToDo as T
T.Start()
  1. T.Start() exists in init.py as from .Controllers.WebServer import Start.
    So, now we go to Start() in WebServer.py. go here for Start() function
  2. The app stops:
    When the app returns, it is finished executing in init.py and then the Python CLI resumes for any other operation the user wishes to perform.

Clone this wiki locally