Contributing/ Developing
Opened this issue · 1 comments
dancesWithCycles commented
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!
answerquest commented
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.