WRI-Cities/static-GTFS-manager

Contributing/ Developing

Opened this issue · 1 comments

Hi folks, Thank you so much for providing and maintaining this repository! After making some experiences with using, running and deploying the repository I am wondering how it is developed. For instance, I can not find a package.json file. That raised the question: What is a possible development process? Cheers!

Hi @dancesWithCycles , this program is developed with python3.
package.json is commonly seen in nodejs applications, not here.

Further details:

  • There is a restful backend api using tornado lib in python
  • For frontend, it's basic HTML / client-side Javascript pages.
  • For populating the content, I did not implement any templating etc - it's only through api calls to the backend.
  • For the "database", it's .h5 files (lookup HDF5 : https://www.geeksforgeeks.org/hdf5-files-in-python/ ), one for each of stops.txt, routes.txt etc. If you start the application without any imported data to begin with, then as you go creating new data, a corresponding .h5 file is created by the backend.
  • Why not a real database : the project's initial requirements/scope included portability - the whole code was desired to be operable off a USB stick without a setup process, hence it wasn't possible to setup and tie the code to a DB server. I did check out SQLite, but came across HDF5 as a faster / more efficient way of storing larger amounts of data. Did a basic benchmarking exercise and found it to be faster, so went with it.