We launched GoNevis today, officially. (It's been on staging & production servers for a while but we announced it today.)
So far it seems to be running good.
The decision behind choosing Python was basically due to our team familiarity withing the language and of course the nature of Python that gives us a lot of flexibility in terms of rapid development, no doubt Python is getting crazy popular every day and we're seeing new projects released by the open source community.
On the other side, Django being a web framework was the best decision for GoNevis. It covers many areas of requirements, including:
- Authentication (User model, login, sessions, etc...)
- Database (the delicious and easy to use ORM.)
- URL Routing
- Built in Testing framework.
- Multi database routing
- Having a great REST API library such as Django Rest Framework.
- Working seamlessly with Celery.
Our API is written completely in Django Rest Framework, great thanks to everyone behind such wonderful project for making it happen. This powerful tool brings joy to making API endpoints, one after another. The integration with Django internal eco-system and model validation, especially ModelSerializer, where you just define the serializer and done.
Processing background jobs with Celery makes everyone happy, from the web server and HTTP request cycle to anyone writing asynchronous tasks in Django. One principles that we follow is "put everything in the queue" (well not every single thing, but as much it should be), also we're using Redis as for Celery broker, It works amazingly good.
We'll be posting more details about our technologies and how we use them soon.
Oh, and one more thing, we're using latest version of Python, currently 3.6.x. You should use it too.
Alir3z4 • 2017 Mar 18