Django REST Framework over NodeJS for Backend RESTful API

As I write, I’m a backend team lead for a Singaporean startup that develop an e-commerce platform. We decide to use Django REST Framework over NodeJS as backend application for CRUD operations of models from the front-end side (mobile app).

Listed below are some of the reasons why Django REST Framework wins over NodeJS:

    1. Easily define models/classes and use of inheritance
      class User(AbstractBaseUser, PermissionsMixin):
      created = models.DateTimeField(
      email = models.EmailField(unique=True, db_index=True)
      username = models.CharField(max_length=50, unique=True, blank=False)
      first_name = models.CharField(max_length=100, blank=False)
      last_name = models.CharField(max_length=100, blank=False)
      USERNAME_FIELD = 'username'
      REQUIRED_FIELDS = ['email', 'first_name', 'last_name']
      class Meta:
      verbose_name = 'user'
      verbose_name_plural = 'users'
      db_table = 'users'

      Very fast prototyping, isn’t it?

    2. Systematic and neat API URLs configuration
      Unless you develop a very small app, you can manage the API URLs easily by importing each app module URL configuration file into the main app URL configuration file
    3. Easy database models/tables migration
      You modify a model and Django will create a migration file to alter your database table structure
    4. Many packages available
      Thousands of available modules or packages at to shorten your time to develop software
    5. Use of Python
      Python is an easy-to-learn programming language. For example:
      # Print Fibonacci numbers less than 10:

      >>> # Fibonacci series:
      ... # the sum of two elements defines the next
      ... a, b = 0, 1
      >>> while b < 10:
      ...     print(b)
      ...     a, b = b, a+b

There are some other advantages, you'll find out when you use it 🙂 .