Django Rest Framework - Backend

Job ID: 32258782

Budget: £20 – £250 GBP

Create a Django Rest Framework API. I already have a project, but I want to create same project with DRF.
1. API for user Sign Up, Sign In, Update profile.
2. I should be able to import my existing users on this website
3. API should be secure

I have extended my User model with a Profile model (see below).
When user signup, they should recieve an email to activate the account. Once activated email_confirmed to turn True.

class Profile(models.Model):
id = models.AutoField(primary_key=True)
# periodic_task = models.ForeignKey(PeriodicTask, null=True, blank=True, on_delete=models.SET_NULL)
user = models.OneToOneField(User, on_delete=models.CASCADE)
email_confirmed = models.BooleanField(default=False)
profile_complete = models.BooleanField(default=False)
profile_checked = models.BooleanField(default=False)

cur_location = models.CharField(
max_length=500, null=True, blank=True, default=None)
cur_lat = models.FloatField(null=True, blank=True, default=None)
cur_lon = models.FloatField(null=True, blank=True, default=None)

birth_location = models.CharField(max_length=500, null=True, blank=True)
birth_lat = models.FloatField(null=True, blank=True, default=None)
birth_lon = models.FloatField(null=True, blank=True, default=None)
birth_date = models.DateField(null=True, blank=True, default=None)
birth_time = models.CharField(
max_length=20, null=True, blank=True, default=None)

PRODUCT_CHOICES = (('lifetime', 'LIFETIME'), ('yearly',
'YEARLY'), ('monthly', 'MONTHLY'), ('free', 'FREE'))

product_id = models.CharField(
max_length=8, choices=PRODUCT_CHOICES, default='free')
customer_id = models.CharField(max_length=50, null=True, blank=True)
subscription_id = models.CharField(max_length=50, null=True, blank=True)
previous_date = models.CharField(max_length=100, null=True, blank=True)
run_date = models.DateField(null=True, blank=True)
start_date = models.DateField(null=True, blank=True)
end_date = models.DateField(null=True, blank=True)

technique = models.ManyToManyField(Technique, blank=True)
ical_link = models.CharField(max_length=200, null=True, blank=True)

DELIVERY_CHOICES = (('email', 'EMAIL'),
('phone', 'PHONE'), ('null', 'NULL'))
delivery_method = models.CharField(
max_length=80, choices=DELIVERY_CHOICES, default='null')
Related categories: Python Django