i have backend sjango and i want to turn it into electron desktop app backend and i want to use electron react jotai react-query , jotai for the schoolyear and auth , this is the models i want to use better-sqlite for them and i want you to add school year table that contain id and school year and i want every students and loans and library cards  belongs to a school year except archive and books , and fix it in the library cards table delete string school year and make relation with school year table as the others , what you have to do , is to give me step by step how to implement this backend in the electron vite react project which the boilerplate is ready and tell every code with the folder structure and fix every thing make it work well 
from django.db import models
from django.contrib.auth.models import User
# Create your models here.


class StatusChoice(models.TextChoices):
    RENTED = "rented"
    AVAILABLE = "available"
    LOST = "lost"


class Person(models.Model):
    first_name = models.CharField(max_length=200, blank=False, null=False)
    last_name = models.CharField(max_length=200, blank=False, null=False)
    birth_date = models.DateField(auto_now=False)
    birth_place = models.CharField(max_length=200, blank=False, null=False)
    class Meta:
        abstract = True

class Book(models.Model):
    title = models.CharField(max_length=200, blank=False)
    author = models.CharField(max_length=200, blank=True, null=True)
    price = models.DecimalField(
        max_digits=8, decimal_places=2, blank=True, null=True, default=0
    )
    category = models.CharField(max_length=100)
    class_number = models.CharField(max_length=100, blank=True, null=True)
    entry_date = models.DateField(auto_now=False, blank=True, null=True)
    published_date = models.DateField(auto_now=False, blank=True, null=True)
    statu = models.CharField(
        max_length=200, choices=StatusChoice.choices, null=False, blank=False
    )
    user = models.ForeignKey(User, null=True, on_delete=models.SET_NULL)

    def __str__(self):
        return self.title


class Student(Person):
    
    class_num = models.CharField(max_length=200, blank=False, null=False)
    user = models.ForeignKey(User, null=True, on_delete=models.SET_NULL)
    
    def __str__(self):
        return self.class_num


class RentBook(models.Model):
    book_id = models.ForeignKey(Book, on_delete=models.CASCADE)
    student_id = models.ForeignKey(Student, on_delete=models.CASCADE)
    rent_date = models.DateField(auto_now=False)
    return_date = models.DateField(auto_now=False)
    isReturned = models.BooleanField(True, max_length=200, default='')
    user = models.ForeignKey(User, null=True, on_delete=models.SET_NULL)

class Archive(Person):
    
    class_name = models.CharField(max_length=200, blank=False, null=False)
    document_name = models.CharField(max_length=200, blank=False, null=False)
    user = models.ForeignKey(User, null=True, on_delete=models.SET_NULL)
    
    def __str__(self):
        return self.class_name


class LibraryCard(models.Model):
    student_id = models.ForeignKey(Student, on_delete=models.CASCADE)
    collegeYear = models.CharField(max_length=200, blank=False, null=False)
    
    user = models.ForeignKey(User, null=True, on_delete=models.SET_NULL)
    
    def __str__(self):
        return self.student_id