digitatorin / auto-research

Open source services for auto-rickshaws
4 stars 1 forks source link

Platform for the application development #14

Closed joicemjoseph closed 3 years ago

joicemjoseph commented 8 years ago

The web site, the back end is necessary to have a high level scripting language. there are three major language choices are there.

  1. PHP
  2. Ruby on Rails
  3. Python
    • a. Django
    • b. Flask

So what we really needed is a language, which is easy to learn, quickly send to production and easily and highly testable & debuggable. one other condition also exists. that is the language should provide some really, matured library for location based distance and related items calculation. which is the platform to prefer ?

joicemjoseph commented 8 years ago

My personal recommendation is RoR, which is easy to go for production. test libs are osm and also there are so many matured geo libs are there. it is quit easy to learn. there, we can learn a new language. @arunk suggests GeoDjango. because of geodjango is a matured framework and also python is more tents to a sci-lang. but personally, I feel more difficult to learn django / python. @rashivkp suggests flask. i dont know anything about flask its usability, debuggability, maintainability, etc. is there any decent, matured lib for geo calculation in flask ?

arunk commented 8 years ago

What I have against RoR is all the magic that happens behind the scenes. While this is possibly helpful in terms of productivity, for someone coming from another language, starting to work with RoR code has a very steep learning curve. While looking at potential future collaborators we will be looking at only other Ruby developers, whereas anyone who knows the basics of coding in whatever language - PHP, C, Java, LISP can begin developing in Python and therefore contribute to our project.

PHP might be a candidate too given its widespread usage and the number of people who can develop in it, but I feel it lacks things like GeoDjango.

If you are not comfortable with Python/Django then maybe you can work on the Android frontend? I have experience with Python/Django and in terms of the resources we have right now, I feel like going with this is the best use of our available resources. Starting to learn a new framework for all of us is not a great idea in my opinion.

If you'd like to work on Ruby on Rails, perhaps you can build a website to connect to the GeoDjango backend using RoR at a later stage when we need it.

joicemjoseph commented 8 years ago

What about flask ?? in the last call rashi was mentioning about flask. I saw some talk, titled flasky goddess. https://speakerdeck.com/kennethreitz/flasky-goodness http://pydanny-event-notes.readthedocs.io/en/latest/DjangoConEurope2012/flasky-goodness-or-why-django-sucks.html

arunk commented 8 years ago

Flask is a good lightweight alternative to Django, but there doesn't seem to be anything like GeoDjango. Though I found this - http://geoalchemy-2.readthedocs.io/en/0.3/ Maybe we can try developing throwaway code using Flask/GeoAlchemy and GeoDjango and see which one we like best?

joicemjoseph commented 8 years ago

Ok. That is fine. We can do that and check how it works. have you gone through OpenRide ?? They have made a complete source code available under open source license. but that is written in Java EE. i dont know is there any problem deploying that. I think more than that, we can adopt the API structure of that. They had made a good documentation on that.

rashivkp commented 8 years ago

about flask, I felt comfortable while reading the code. may be its because I had already worked with django. but the SqlAlchemy is not so beautiful than the django's way of handling db objects.

But, I am also suggesting django. because it already has stable thing to get along. as Arun said, we can develop throwaway code if needed.

rashivkp commented 8 years ago

I am not seeing any repos of OpenRide. if you are referring this https://sourceforge.net/projects/openride/ it is a abandoned one.

joicemjoseph commented 8 years ago

@rashivkp search openride on gh. you can find it.

joicemjoseph commented 8 years ago

@rashivkp try this https://github.com/SassaAbdellah/openride/tree/master/doc