Index: backend/app/migrations/0001_initial.py
===================================================================
--- backend/app/migrations/0001_initial.py	(revision 939ef580bb1ded93b9535ab728eeb92e52c4e7d6)
+++ backend/app/migrations/0001_initial.py	(revision a157eeff78820bcddb71e48d37e8c0ab7d402d21)
@@ -1,4 +1,6 @@
-# Generated by Django 5.1.7 on 2025-04-18 16:32
+# Generated by Django 5.1.7 on 2025-04-19 08:58
 
+import django.contrib.postgres.fields
+import django.db.models.deletion
 from django.db import migrations, models
 
@@ -18,21 +20,32 @@
                 ('name', models.TextField()),
                 ('code', models.TextField()),
+                ('abstract', models.TextField()),
+            ],
+            options={
+                'db_table': 'subject',
+            },
+        ),
+        migrations.CreateModel(
+            name='Subject_Info',
+            fields=[
+                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('name', models.TextField()),
+                ('code', models.TextField()),
                 ('level', models.IntegerField()),
                 ('short', models.TextField(blank=True, null=True)),
                 ('prerequisite', models.TextField(blank=True, null=True)),
                 ('activated', models.BooleanField()),
-                ('e_2024_2025', models.IntegerField(blank=True, null=True)),
-                ('e_2023_2024', models.IntegerField(blank=True, null=True)),
-                ('e_2022_2023', models.IntegerField(blank=True, null=True)),
+                ('participants', django.contrib.postgres.fields.ArrayField(base_field=models.IntegerField(blank=True), size=None)),
                 ('mandatory', models.BooleanField()),
-                ('mandatoryfor', models.JSONField(blank=True, default=list)),
+                ('mandatory_for', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True), size=None)),
                 ('semester', models.IntegerField()),
                 ('season', models.TextField()),
-                ('electivefor', models.JSONField(blank=True, default=list)),
-                ('professors', models.JSONField(blank=True, default=list)),
-                ('assistants', models.JSONField(blank=True, default=list)),
+                ('elective_for', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True), size=None)),
+                ('professors', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True), size=None)),
+                ('assistants', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True), size=None)),
+                ('subject', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='app.subject')),
             ],
             options={
-                'db_table': 'subjectdata',
+                'db_table': 'subject_data',
             },
         ),
Index: ckend/app/migrations/0002_alter_subject_assistants_alter_subject_electivefor_and_more.py
===================================================================
--- backend/app/migrations/0002_alter_subject_assistants_alter_subject_electivefor_and_more.py	(revision 939ef580bb1ded93b9535ab728eeb92e52c4e7d6)
+++ 	(revision )
@@ -1,34 +1,0 @@
-# Generated by Django 5.1.7 on 2025-04-18 17:34
-
-import django.contrib.postgres.fields
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('app', '0001_initial'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='subject',
-            name='assistants',
-            field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True), size=None),
-        ),
-        migrations.AlterField(
-            model_name='subject',
-            name='electivefor',
-            field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True), size=None),
-        ),
-        migrations.AlterField(
-            model_name='subject',
-            name='mandatoryfor',
-            field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True), size=None),
-        ),
-        migrations.AlterField(
-            model_name='subject',
-            name='professors',
-            field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True), size=None),
-        ),
-    ]
Index: backend/app/models.py
===================================================================
--- backend/app/models.py	(revision 939ef580bb1ded93b9535ab728eeb92e52c4e7d6)
+++ backend/app/models.py	(revision a157eeff78820bcddb71e48d37e8c0ab7d402d21)
@@ -24,8 +24,8 @@
     participants = ArrayField(models.IntegerField(blank=True))
     mandatory = models.BooleanField(null=False)
-    mandatoryfor = ArrayField(models.CharField(blank=True))
+    mandatory_for = ArrayField(models.CharField(blank=True))
     semester = models.IntegerField(null=False)
     season = models.TextField(null=False)
-    electivefor = ArrayField(models.CharField(blank=True))
+    elective_for = ArrayField(models.CharField(blank=True))
     professors = ArrayField(models.CharField(blank=True))
     assistants = ArrayField(models.CharField(blank=True))
Index: backend/app/views.py
===================================================================
--- backend/app/views.py	(revision 939ef580bb1ded93b9535ab728eeb92e52c4e7d6)
+++ backend/app/views.py	(revision a157eeff78820bcddb71e48d37e8c0ab7d402d21)
@@ -4,5 +4,5 @@
 from django.db import connection
 from django.core import serializers
-from .models import Subject_Info
+from .models import Subject_Info, Subject
 
 # Create your views here.
@@ -12,4 +12,8 @@
 
 def test_api(request):
+    # subject_info = Subject.objects.all()
+    # subject_info_data = list(subject_info.values())  
+    # json_data = json.dumps({"rows": subject_info_data})
+
     subjects = Subject_Info.objects.all()
     subjects_data = list(subjects.values())  
