diff --git a/app.ini b/app.ini new file mode 100644 index 0000000000000000000000000000000000000000..68217d20e2d9433af34a3aa716a87a78c7d4362a --- /dev/null +++ b/app.ini @@ -0,0 +1,12 @@ +[uwsgi] +project = backend +base = ./ + +chdir = /home/rdadmin/Documents/Eshtaol-Projects/coffeeNet/coffeenet-backend/backend +module = %(project).wsgi:application +env = DJANGO_SETTINGS_MODULE=%(project).settings + +master = true +processes = 4 +http = 0.0.0.0:5005 +vacuum = true diff --git a/backend/.DS_Store b/backend/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..267af31b08f398871603c45cb4067b945e5e79f1 Binary files /dev/null and b/backend/.DS_Store differ diff --git a/backend/.env b/backend/.env new file mode 100644 index 0000000000000000000000000000000000000000..b0aa52506aed71adfc4a99a845716fb8771f621c --- /dev/null +++ b/backend/.env @@ -0,0 +1,5 @@ +DATABASE_NAME="coffeenet" +DATABASE_USERNAME="coffeenet_app" +DATABASE_PASS="coffeenet#123#database" +DATABASE_HOST="localhost" +DATABASE_PORT="5432" \ No newline at end of file diff --git a/backend/.idea/.gitignore b/backend/.idea/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..26d33521af10bcc7fd8cea344038eaaeb78d0ef5 --- /dev/null +++ b/backend/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/backend/.idea/backend.iml b/backend/.idea/backend.iml new file mode 100644 index 0000000000000000000000000000000000000000..8e5446ac9594d6e198c2a2923123566d13b94bf9 --- /dev/null +++ b/backend/.idea/backend.iml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module type="PYTHON_MODULE" version="4"> + <component name="NewModuleRootManager"> + <content url="file://$MODULE_DIR$"> + <excludeFolder url="file://$MODULE_DIR$/venv" /> + </content> + <orderEntry type="inheritedJdk" /> + <orderEntry type="sourceFolder" forTests="false" /> + </component> + <component name="PyDocumentationSettings"> + <option name="format" value="PLAIN" /> + <option name="myDocStringFormat" value="Plain" /> + </component> +</module> \ No newline at end of file diff --git a/backend/.idea/inspectionProfiles/Project_Default.xml b/backend/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000000000000000000000000000000000000..25bde2c3afaab1a315ae039135cb178c10118d3f --- /dev/null +++ b/backend/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,14 @@ +<component name="InspectionProjectProfileManager"> + <profile version="1.0"> + <option name="myName" value="Project Default" /> + <inspection_tool class="PyPackageRequirementsInspection" enabled="true" level="WARNING" enabled_by_default="true"> + <option name="ignoredPackages"> + <value> + <list size="1"> + <item index="0" class="java.lang.String" itemvalue="numpy" /> + </list> + </value> + </option> + </inspection_tool> + </profile> +</component> \ No newline at end of file diff --git a/backend/.idea/inspectionProfiles/profiles_settings.xml b/backend/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000000000000000000000000000000000000..105ce2da2d6447d11dfe32bfb846c3d5b199fc99 --- /dev/null +++ b/backend/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ +<component name="InspectionProjectProfileManager"> + <settings> + <option name="USE_PROJECT_PROFILE" value="false" /> + <version value="1.0" /> + </settings> +</component> \ No newline at end of file diff --git a/backend/.idea/misc.xml b/backend/.idea/misc.xml new file mode 100644 index 0000000000000000000000000000000000000000..6117361a5145af151c4ea7808d6d690255bb2120 --- /dev/null +++ b/backend/.idea/misc.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10 (backend)" project-jdk-type="Python SDK" /> + <component name="PyCharmProfessionalAdvertiser"> + <option name="shown" value="true" /> + </component> +</project> \ No newline at end of file diff --git a/backend/.idea/modules.xml b/backend/.idea/modules.xml new file mode 100644 index 0000000000000000000000000000000000000000..e066844ef633dcf7d83f24067bbb6305f517da56 --- /dev/null +++ b/backend/.idea/modules.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ProjectModuleManager"> + <modules> + <module fileurl="file://$PROJECT_DIR$/.idea/backend.iml" filepath="$PROJECT_DIR$/.idea/backend.iml" /> + </modules> + </component> +</project> \ No newline at end of file diff --git a/backend/.idea/vcs.xml b/backend/.idea/vcs.xml new file mode 100644 index 0000000000000000000000000000000000000000..6c0b8635858dc7ad44b93df54b762707ce49eefc --- /dev/null +++ b/backend/.idea/vcs.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="VcsDirectoryMappings"> + <mapping directory="$PROJECT_DIR$/.." vcs="Git" /> + </component> +</project> \ No newline at end of file diff --git a/backend/app.ini b/backend/app.ini new file mode 100644 index 0000000000000000000000000000000000000000..b0b5aa71bbe9b9b7c955e63df3377b9c41b79bfe --- /dev/null +++ b/backend/app.ini @@ -0,0 +1,20 @@ +[uwsgi] +project = backend +base = /home/rdadmin/Documents/Eshtaol-Projects/coffeeNet/coffeenet-backend + +chdir = %(base)/%(project) +module = %(project).wsgi:application +env = DJANGO_SETTINGS_MODULE=%(project).settings + + +http = 0.0.0.0:5005 + + +master = true +processes = 4 +#threads = 1 + +die-on-term = true +CUDA_MPS_ACTIVE=1 +CUDA_VISIBLE_DEVICES=0 +max-requests = 1 diff --git a/backend/backend/__pycache__/__init__.cpython-310.pyc b/backend/backend/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..633900784efebe90215acb18375a9bc8b484c5ce Binary files /dev/null and b/backend/backend/__pycache__/__init__.cpython-310.pyc differ diff --git a/backend/backend/__pycache__/__init__.cpython-38.pyc b/backend/backend/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ccb5d5ed7d360b109e6ab662bb012cda2e93d6cf Binary files /dev/null and b/backend/backend/__pycache__/__init__.cpython-38.pyc differ diff --git a/backend/backend/__pycache__/settings.cpython-310.pyc b/backend/backend/__pycache__/settings.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..baea09a8b05d786f5ff9d46ceba6aa09c2debd24 Binary files /dev/null and b/backend/backend/__pycache__/settings.cpython-310.pyc differ diff --git a/backend/backend/__pycache__/settings.cpython-38.pyc b/backend/backend/__pycache__/settings.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a002b03902f2ba47756263957ca186cb46e098a7 Binary files /dev/null and b/backend/backend/__pycache__/settings.cpython-38.pyc differ diff --git a/backend/backend/__pycache__/urls.cpython-310.pyc b/backend/backend/__pycache__/urls.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c8821a9098fafedc782b2dc835e2206ede08c9d0 Binary files /dev/null and b/backend/backend/__pycache__/urls.cpython-310.pyc differ diff --git a/backend/backend/__pycache__/urls.cpython-38.pyc b/backend/backend/__pycache__/urls.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..350fdd5a948efae7dabdab904196f0bac9510a3a Binary files /dev/null and b/backend/backend/__pycache__/urls.cpython-38.pyc differ diff --git a/backend/backend/__pycache__/wsgi.cpython-310.pyc b/backend/backend/__pycache__/wsgi.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0de93463926d1b1a365bc26d4980e4dabf028ba1 Binary files /dev/null and b/backend/backend/__pycache__/wsgi.cpython-310.pyc differ diff --git a/backend/backend/__pycache__/wsgi.cpython-38.pyc b/backend/backend/__pycache__/wsgi.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..dbe333e6f441db00d243a366168d44e2bcd6cfe7 Binary files /dev/null and b/backend/backend/__pycache__/wsgi.cpython-38.pyc differ diff --git a/backend/backend/settings.py b/backend/backend/settings.py index cfbcb93157b1415df9a086072a2c0a785b14cd0e..c25b14d00ce0498ffec68f9659f0019c5043ed8d 100644 --- a/backend/backend/settings.py +++ b/backend/backend/settings.py @@ -17,7 +17,6 @@ import os # Build paths inside the project like this: BASE_DIR / 'subdir'. BASE_DIR = Path(__file__).resolve().parent.parent - # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/4.1/howto/deployment/checklist/ @@ -29,7 +28,6 @@ DEBUG = True ALLOWED_HOSTS = ["*"] - # Application definition INSTALLED_APPS = [ @@ -118,18 +116,25 @@ TEMPLATES = [ WSGI_APPLICATION = "backend.wsgi.application" - # Database # https://docs.djangoproject.com/en/4.1/ref/settings/#databases DATABASES = { - "default": { - "ENGINE": "django.db.backends.sqlite3", - "NAME": BASE_DIR / "db.sqlite3", + # "default": { + # "ENGINE": "django.db.backends.sqlite3", + # "NAME": BASE_DIR / "db.sqlite3", + # } + + 'default': { + 'ENGINE': 'django.db.backends.postgresql', + 'NAME': "coffeenet", # os.environ.get('DATABASE_NAME'), + 'USER': "coffeenet_app", # os.environ.get('DATABASE_USERNAME'), + 'PASSWORD': "coffeenet#123#database", # os.environ.get('DATABASE_PASS'), + 'HOST': "localhost", # os.environ.get('DATABASE_HOST'), # Use '127.0.0.1' if 'localhost' doesn't work + 'PORT': "5432", # os.environ.get('DATABASE_PORT'), # Default PostgreSQL port } } - # Password validation # https://docs.djangoproject.com/en/4.1/ref/settings/#auth-password-validators @@ -139,7 +144,6 @@ AUTH_PASSWORD_VALIDATORS = [ } ] - # Internationalization # https://docs.djangoproject.com/en/4.1/topics/i18n/ @@ -151,7 +155,6 @@ USE_I18N = True USE_TZ = True - # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/4.1/howto/static-files/ diff --git a/backend/db.sqlite3 b/backend/db.sqlite3 index aec891011597ac6f268feb348d7d52296f3e0979..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 Binary files a/backend/db.sqlite3 and b/backend/db.sqlite3 differ diff --git a/backend/disease_prediction/__pycache__/__init__.cpython-310.pyc b/backend/disease_prediction/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ee7fc35c8c6d8f9d198eb3c8238618c6226caa6b Binary files /dev/null and b/backend/disease_prediction/__pycache__/__init__.cpython-310.pyc differ diff --git a/backend/disease_prediction/__pycache__/__init__.cpython-38.pyc b/backend/disease_prediction/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..39f27811a8862709e4c18a89459fb9da36008b71 Binary files /dev/null and b/backend/disease_prediction/__pycache__/__init__.cpython-38.pyc differ diff --git a/backend/disease_prediction/__pycache__/admin.cpython-310.pyc b/backend/disease_prediction/__pycache__/admin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e06b3dd64a36a0de063bcd378586cb660bc7143a Binary files /dev/null and b/backend/disease_prediction/__pycache__/admin.cpython-310.pyc differ diff --git a/backend/disease_prediction/__pycache__/admin.cpython-38.pyc b/backend/disease_prediction/__pycache__/admin.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fa4fc62b13dbaf3d4f25b198929d3ef49966be4e Binary files /dev/null and b/backend/disease_prediction/__pycache__/admin.cpython-38.pyc differ diff --git a/backend/disease_prediction/__pycache__/apps.cpython-310.pyc b/backend/disease_prediction/__pycache__/apps.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..07002830024db6146fbf9fd4963c4705a24c9068 Binary files /dev/null and b/backend/disease_prediction/__pycache__/apps.cpython-310.pyc differ diff --git a/backend/disease_prediction/__pycache__/apps.cpython-38.pyc b/backend/disease_prediction/__pycache__/apps.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e346e85e1801f5021e4ecfcb8f94dd189a205ab9 Binary files /dev/null and b/backend/disease_prediction/__pycache__/apps.cpython-38.pyc differ diff --git a/backend/disease_prediction/__pycache__/models.cpython-310.pyc b/backend/disease_prediction/__pycache__/models.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9f1ac37ca0c1dcba61b8ab90e9c6313b7f7a7c40 Binary files /dev/null and b/backend/disease_prediction/__pycache__/models.cpython-310.pyc differ diff --git a/backend/disease_prediction/__pycache__/models.cpython-38.pyc b/backend/disease_prediction/__pycache__/models.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f518624a57131c037d20f22b00375b0a36ed06f0 Binary files /dev/null and b/backend/disease_prediction/__pycache__/models.cpython-38.pyc differ diff --git a/backend/disease_prediction/__pycache__/predictionSerializers.cpython-310.pyc b/backend/disease_prediction/__pycache__/predictionSerializers.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..dcd599db452c4ac52e901dc5e3377ee39e03d353 Binary files /dev/null and b/backend/disease_prediction/__pycache__/predictionSerializers.cpython-310.pyc differ diff --git a/backend/disease_prediction/__pycache__/predictionSerializers.cpython-38.pyc b/backend/disease_prediction/__pycache__/predictionSerializers.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7017369dbc0a76c8b55116ee031e54a219878a6e Binary files /dev/null and b/backend/disease_prediction/__pycache__/predictionSerializers.cpython-38.pyc differ diff --git a/backend/disease_prediction/__pycache__/urls.cpython-310.pyc b/backend/disease_prediction/__pycache__/urls.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5ef1695ab7a5c663d9789d90a358cb51e24b0025 Binary files /dev/null and b/backend/disease_prediction/__pycache__/urls.cpython-310.pyc differ diff --git a/backend/disease_prediction/__pycache__/urls.cpython-38.pyc b/backend/disease_prediction/__pycache__/urls.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b3f5df3ba0e1ad55b283df66702e9f0fac98b2ad Binary files /dev/null and b/backend/disease_prediction/__pycache__/urls.cpython-38.pyc differ diff --git a/backend/disease_prediction/__pycache__/views.cpython-310.pyc b/backend/disease_prediction/__pycache__/views.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6e59f9bec7fae060081faf2ca93b34fe9992ba51 Binary files /dev/null and b/backend/disease_prediction/__pycache__/views.cpython-310.pyc differ diff --git a/backend/disease_prediction/__pycache__/views.cpython-38.pyc b/backend/disease_prediction/__pycache__/views.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e592691d3f49eb5f59a921a5b50aedba20821b76 Binary files /dev/null and b/backend/disease_prediction/__pycache__/views.cpython-38.pyc differ diff --git a/backend/disease_prediction/migrations/0001_initial.py b/backend/disease_prediction/migrations/0001_initial.py index 2491ba60fd13206e2761a8240ee7a526c4de7629..6bfa3a3e20ef5b16b4dcc8a25799d783b3c9a757 100644 --- a/backend/disease_prediction/migrations/0001_initial.py +++ b/backend/disease_prediction/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 4.1.7 on 2023-05-21 19:58 +# Generated by Django 4.2.1 on 2023-09-01 06:22 import disease_prediction.models from django.conf import settings @@ -7,7 +7,6 @@ import django.db.models.deletion class Migration(migrations.Migration): - initial = True dependencies = [ @@ -16,21 +15,60 @@ class Migration(migrations.Migration): operations = [ migrations.CreateModel( - name='Diseases', + name="Disease", fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=50)), + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("name", models.CharField(max_length=50)), ], ), migrations.CreateModel( - name='Prediction', + name="Prediction", fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('image', models.ImageField(upload_to=disease_prediction.models.upload_to_image)), - ('imageName', models.CharField(max_length=30)), - ('predictedImage', models.ImageField(blank=True, null=True, upload_to=disease_prediction.models.upload_to_prediction)), - ('diseases', models.ManyToManyField(to='disease_prediction.diseases')), - ('user', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "image", + models.ImageField( + upload_to=disease_prediction.models.upload_to_image + ), + ), + ("imageName", models.CharField(max_length=30)), + ("scanned", models.BooleanField(default=True)), + ("severity", models.FloatField()), + ("uploadTime", models.DateTimeField(auto_now_add=True)), + ( + "predictedImage", + models.ImageField( + blank=True, + null=True, + upload_to=disease_prediction.models.upload_to_prediction, + ), + ), + ("diseases", models.ManyToManyField(to="disease_prediction.disease")), + ( + "user", + models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.SET_NULL, + to=settings.AUTH_USER_MODEL, + ), + ), ], ), ] diff --git a/backend/disease_prediction/migrations/0002_alter_prediction_user.py b/backend/disease_prediction/migrations/0002_alter_prediction_user.py deleted file mode 100644 index 97eb33d3a18a51aee27dce681207c674f4ef8197..0000000000000000000000000000000000000000 --- a/backend/disease_prediction/migrations/0002_alter_prediction_user.py +++ /dev/null @@ -1,21 +0,0 @@ -# Generated by Django 4.2.1 on 2023-06-07 18:30 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('disease_prediction', '0001_initial'), - ] - - operations = [ - migrations.AlterField( - model_name='prediction', - name='user', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL), - ), - ] diff --git a/backend/disease_prediction/migrations/0002_prediction_manualdiseases_alter_prediction_diseases.py b/backend/disease_prediction/migrations/0002_prediction_manualdiseases_alter_prediction_diseases.py new file mode 100644 index 0000000000000000000000000000000000000000..72044b03a29dadbb32da1305a890bcb830c9e902 --- /dev/null +++ b/backend/disease_prediction/migrations/0002_prediction_manualdiseases_alter_prediction_diseases.py @@ -0,0 +1,28 @@ +# Generated by Django 4.2.1 on 2023-09-14 06:29 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("disease_prediction", "0001_initial"), + ] + + operations = [ + migrations.AddField( + model_name="prediction", + name="manualDiseases", + field=models.ManyToManyField( + default=None, + related_name="manual_predictions", + to="disease_prediction.disease", + ), + ), + migrations.AlterField( + model_name="prediction", + name="diseases", + field=models.ManyToManyField( + related_name="predictions", to="disease_prediction.disease" + ), + ), + ] diff --git a/backend/disease_prediction/migrations/0003_prediction_manualseverity.py b/backend/disease_prediction/migrations/0003_prediction_manualseverity.py new file mode 100644 index 0000000000000000000000000000000000000000..7ed2e6650906b84f7a349199ca32fc95d28baef3 --- /dev/null +++ b/backend/disease_prediction/migrations/0003_prediction_manualseverity.py @@ -0,0 +1,20 @@ +# Generated by Django 4.2.1 on 2023-09-15 14:03 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ( + "disease_prediction", + "0002_prediction_manualdiseases_alter_prediction_diseases", + ), + ] + + operations = [ + migrations.AddField( + model_name="prediction", + name="manualSeverity", + field=models.FloatField(default=None), + ), + ] diff --git a/backend/disease_prediction/migrations/0003_rename_diseases_disease.py b/backend/disease_prediction/migrations/0003_rename_diseases_disease.py deleted file mode 100644 index ab4f52cf99747fde37e20317d9b3042db0018c3e..0000000000000000000000000000000000000000 --- a/backend/disease_prediction/migrations/0003_rename_diseases_disease.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 4.2.1 on 2023-06-07 18:34 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('disease_prediction', '0002_alter_prediction_user'), - ] - - operations = [ - migrations.RenameModel( - old_name='Diseases', - new_name='Disease', - ), - ] diff --git a/backend/disease_prediction/migrations/0004_alter_prediction_manualseverity.py b/backend/disease_prediction/migrations/0004_alter_prediction_manualseverity.py new file mode 100644 index 0000000000000000000000000000000000000000..0a6765045dc5ce38984120b532c7259d5ee67b43 --- /dev/null +++ b/backend/disease_prediction/migrations/0004_alter_prediction_manualseverity.py @@ -0,0 +1,17 @@ +# Generated by Django 4.2.1 on 2023-09-18 06:26 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("disease_prediction", "0003_prediction_manualseverity"), + ] + + operations = [ + migrations.AlterField( + model_name="prediction", + name="manualSeverity", + field=models.IntegerField(default=None), + ), + ] diff --git a/backend/disease_prediction/migrations/0004_prediction_scanned_prediction_severity_and_more.py b/backend/disease_prediction/migrations/0004_prediction_scanned_prediction_severity_and_more.py deleted file mode 100644 index 6c0cda9a59875bc8521955c529989e551cc0af50..0000000000000000000000000000000000000000 --- a/backend/disease_prediction/migrations/0004_prediction_scanned_prediction_severity_and_more.py +++ /dev/null @@ -1,31 +0,0 @@ -# Generated by Django 4.2.1 on 2023-06-20 19:59 - -from django.db import migrations, models -import django.utils.timezone - - -class Migration(migrations.Migration): - - dependencies = [ - ('disease_prediction', '0003_rename_diseases_disease'), - ] - - operations = [ - migrations.AddField( - model_name='prediction', - name='scanned', - field=models.BooleanField(default=True), - ), - migrations.AddField( - model_name='prediction', - name='severity', - field=models.FloatField(default=0), - preserve_default=False, - ), - migrations.AddField( - model_name='prediction', - name='uploadTime', - field=models.DateTimeField(auto_now_add=True, default=django.utils.timezone.now), - preserve_default=False, - ), - ] diff --git a/backend/disease_prediction/migrations/0005_alter_prediction_manualseverity.py b/backend/disease_prediction/migrations/0005_alter_prediction_manualseverity.py new file mode 100644 index 0000000000000000000000000000000000000000..4d5c0e77ea256f3def6a1b255522fb82a2a94d4e --- /dev/null +++ b/backend/disease_prediction/migrations/0005_alter_prediction_manualseverity.py @@ -0,0 +1,17 @@ +# Generated by Django 4.2.1 on 2023-09-18 06:32 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("disease_prediction", "0004_alter_prediction_manualseverity"), + ] + + operations = [ + migrations.AlterField( + model_name="prediction", + name="manualSeverity", + field=models.IntegerField(default=None, null=True), + ), + ] diff --git a/backend/disease_prediction/migrations/0006_prediction_additionalsuggestion_and_more.py b/backend/disease_prediction/migrations/0006_prediction_additionalsuggestion_and_more.py new file mode 100644 index 0000000000000000000000000000000000000000..ec6252e7e9d881f023ef37c99dcb86df865f5caa --- /dev/null +++ b/backend/disease_prediction/migrations/0006_prediction_additionalsuggestion_and_more.py @@ -0,0 +1,27 @@ +# Generated by Django 4.2.1 on 2023-09-19 08:27 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("disease_prediction", "0005_alter_prediction_manualseverity"), + ] + + operations = [ + migrations.AddField( + model_name="prediction", + name="additionalSuggestion", + field=models.CharField(default=None, max_length=400), + ), + migrations.AddField( + model_name="prediction", + name="copperBasedSynthetic", + field=models.BooleanField(default=False), + ), + migrations.AddField( + model_name="prediction", + name="resistantVarieties", + field=models.BooleanField(default=False), + ), + ] diff --git a/backend/disease_prediction/migrations/0007_alter_prediction_additionalsuggestion.py b/backend/disease_prediction/migrations/0007_alter_prediction_additionalsuggestion.py new file mode 100644 index 0000000000000000000000000000000000000000..bebe7a062503a2ce1f1aff40ff960a15ba020e5d --- /dev/null +++ b/backend/disease_prediction/migrations/0007_alter_prediction_additionalsuggestion.py @@ -0,0 +1,17 @@ +# Generated by Django 4.2.1 on 2023-09-19 08:40 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("disease_prediction", "0006_prediction_additionalsuggestion_and_more"), + ] + + operations = [ + migrations.AlterField( + model_name="prediction", + name="additionalSuggestion", + field=models.CharField(default=None, max_length=400, null=True), + ), + ] diff --git a/backend/disease_prediction/migrations/__pycache__/0001_initial.cpython-310.pyc b/backend/disease_prediction/migrations/__pycache__/0001_initial.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..90e8dcb1aa71a386f2c091be9b505cbe9625e04a Binary files /dev/null and b/backend/disease_prediction/migrations/__pycache__/0001_initial.cpython-310.pyc differ diff --git a/backend/disease_prediction/migrations/__pycache__/0001_initial.cpython-311.pyc b/backend/disease_prediction/migrations/__pycache__/0001_initial.cpython-311.pyc deleted file mode 100644 index 0b6d3c819504c9326923f33a52ed545104cb6e77..0000000000000000000000000000000000000000 Binary files a/backend/disease_prediction/migrations/__pycache__/0001_initial.cpython-311.pyc and /dev/null differ diff --git a/backend/disease_prediction/migrations/__pycache__/0001_initial.cpython-38.pyc b/backend/disease_prediction/migrations/__pycache__/0001_initial.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2f0118cddd0bf79d16817a62d18cd2fae5e61a14 Binary files /dev/null and b/backend/disease_prediction/migrations/__pycache__/0001_initial.cpython-38.pyc differ diff --git a/backend/disease_prediction/migrations/__pycache__/0002_alter_prediction_user.cpython-311.pyc b/backend/disease_prediction/migrations/__pycache__/0002_alter_prediction_user.cpython-311.pyc deleted file mode 100644 index da5205517cd9bc9336f5775c7ec64c40d0b95def..0000000000000000000000000000000000000000 Binary files a/backend/disease_prediction/migrations/__pycache__/0002_alter_prediction_user.cpython-311.pyc and /dev/null differ diff --git a/backend/disease_prediction/migrations/__pycache__/0002_prediction_manualdiseases_alter_prediction_diseases.cpython-310.pyc b/backend/disease_prediction/migrations/__pycache__/0002_prediction_manualdiseases_alter_prediction_diseases.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9acddfea2238bacfee5e1d419b22893e13f6106b Binary files /dev/null and b/backend/disease_prediction/migrations/__pycache__/0002_prediction_manualdiseases_alter_prediction_diseases.cpython-310.pyc differ diff --git a/backend/disease_prediction/migrations/__pycache__/0002_prediction_manualdiseases_alter_prediction_diseases.cpython-38.pyc b/backend/disease_prediction/migrations/__pycache__/0002_prediction_manualdiseases_alter_prediction_diseases.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ee16b13c45936470edb3d38be7ae3dc1adda9c4d Binary files /dev/null and b/backend/disease_prediction/migrations/__pycache__/0002_prediction_manualdiseases_alter_prediction_diseases.cpython-38.pyc differ diff --git a/backend/disease_prediction/migrations/__pycache__/0003_prediction_manualseverity.cpython-310.pyc b/backend/disease_prediction/migrations/__pycache__/0003_prediction_manualseverity.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..29db36d51a2b4e7695cba72699ff4190d14bfe50 Binary files /dev/null and b/backend/disease_prediction/migrations/__pycache__/0003_prediction_manualseverity.cpython-310.pyc differ diff --git a/backend/disease_prediction/migrations/__pycache__/0003_prediction_manualseverity.cpython-38.pyc b/backend/disease_prediction/migrations/__pycache__/0003_prediction_manualseverity.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5349b0a6b1bc96f3510a974ed68922ff163492bc Binary files /dev/null and b/backend/disease_prediction/migrations/__pycache__/0003_prediction_manualseverity.cpython-38.pyc differ diff --git a/backend/disease_prediction/migrations/__pycache__/0003_rename_diseases_disease.cpython-311.pyc b/backend/disease_prediction/migrations/__pycache__/0003_rename_diseases_disease.cpython-311.pyc deleted file mode 100644 index 92c19436e240b5cdc9fb9d42e95c967e0d757bc6..0000000000000000000000000000000000000000 Binary files a/backend/disease_prediction/migrations/__pycache__/0003_rename_diseases_disease.cpython-311.pyc and /dev/null differ diff --git a/backend/disease_prediction/migrations/__pycache__/0004_alter_prediction_manualseverity.cpython-310.pyc b/backend/disease_prediction/migrations/__pycache__/0004_alter_prediction_manualseverity.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8df215f1bb504722e16b295bbea9b15252e57711 Binary files /dev/null and b/backend/disease_prediction/migrations/__pycache__/0004_alter_prediction_manualseverity.cpython-310.pyc differ diff --git a/backend/disease_prediction/migrations/__pycache__/0004_alter_prediction_manualseverity.cpython-38.pyc b/backend/disease_prediction/migrations/__pycache__/0004_alter_prediction_manualseverity.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..84c41208e5742fe29bf75800ffeac7374a8c479f Binary files /dev/null and b/backend/disease_prediction/migrations/__pycache__/0004_alter_prediction_manualseverity.cpython-38.pyc differ diff --git a/backend/disease_prediction/migrations/__pycache__/0004_prediction_scanned_prediction_severity_and_more.cpython-311.pyc b/backend/disease_prediction/migrations/__pycache__/0004_prediction_scanned_prediction_severity_and_more.cpython-311.pyc deleted file mode 100644 index fbb1420399c82c186397e4dece7df95385c45a36..0000000000000000000000000000000000000000 Binary files a/backend/disease_prediction/migrations/__pycache__/0004_prediction_scanned_prediction_severity_and_more.cpython-311.pyc and /dev/null differ diff --git a/backend/disease_prediction/migrations/__pycache__/0005_alter_prediction_manualseverity.cpython-310.pyc b/backend/disease_prediction/migrations/__pycache__/0005_alter_prediction_manualseverity.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..97114d4a8e45584f2fd3712a6d2f7d464c8a456e Binary files /dev/null and b/backend/disease_prediction/migrations/__pycache__/0005_alter_prediction_manualseverity.cpython-310.pyc differ diff --git a/backend/disease_prediction/migrations/__pycache__/0005_alter_prediction_manualseverity.cpython-38.pyc b/backend/disease_prediction/migrations/__pycache__/0005_alter_prediction_manualseverity.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e21a892a593f3056f8fc8c67c78b583dc20cc5c8 Binary files /dev/null and b/backend/disease_prediction/migrations/__pycache__/0005_alter_prediction_manualseverity.cpython-38.pyc differ diff --git a/backend/disease_prediction/migrations/__pycache__/0006_prediction_additionalsuggestion_and_more.cpython-310.pyc b/backend/disease_prediction/migrations/__pycache__/0006_prediction_additionalsuggestion_and_more.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c5885c6ce6c51d2a2af265a6541e2f92ebb46622 Binary files /dev/null and b/backend/disease_prediction/migrations/__pycache__/0006_prediction_additionalsuggestion_and_more.cpython-310.pyc differ diff --git a/backend/disease_prediction/migrations/__pycache__/0006_prediction_additionalsuggestion_and_more.cpython-38.pyc b/backend/disease_prediction/migrations/__pycache__/0006_prediction_additionalsuggestion_and_more.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..aab8eb77f41b75eb64fda95b2dbf0219ce4ceced Binary files /dev/null and b/backend/disease_prediction/migrations/__pycache__/0006_prediction_additionalsuggestion_and_more.cpython-38.pyc differ diff --git a/backend/disease_prediction/migrations/__pycache__/0007_alter_prediction_additionalsuggestion.cpython-310.pyc b/backend/disease_prediction/migrations/__pycache__/0007_alter_prediction_additionalsuggestion.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..beea46dffc0f5b0be6d8db661b915336e7c4a754 Binary files /dev/null and b/backend/disease_prediction/migrations/__pycache__/0007_alter_prediction_additionalsuggestion.cpython-310.pyc differ diff --git a/backend/disease_prediction/migrations/__pycache__/0007_alter_prediction_additionalsuggestion.cpython-38.pyc b/backend/disease_prediction/migrations/__pycache__/0007_alter_prediction_additionalsuggestion.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..114e17556711acff0c56aa60d6f97d643aacf7ed Binary files /dev/null and b/backend/disease_prediction/migrations/__pycache__/0007_alter_prediction_additionalsuggestion.cpython-38.pyc differ diff --git a/backend/disease_prediction/migrations/__pycache__/__init__.cpython-310.pyc b/backend/disease_prediction/migrations/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fac9be5d15bb2cb5e1f8b549a8384ead92a61ebe Binary files /dev/null and b/backend/disease_prediction/migrations/__pycache__/__init__.cpython-310.pyc differ diff --git a/backend/disease_prediction/migrations/__pycache__/__init__.cpython-311.pyc b/backend/disease_prediction/migrations/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index 4bf052a9ebbb4da434d6f953de4652313bac94f2..0000000000000000000000000000000000000000 Binary files a/backend/disease_prediction/migrations/__pycache__/__init__.cpython-311.pyc and /dev/null differ diff --git a/backend/disease_prediction/migrations/__pycache__/__init__.cpython-38.pyc b/backend/disease_prediction/migrations/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7fe28ff73c2055fbf982c9051c0d4cb4364feedb Binary files /dev/null and b/backend/disease_prediction/migrations/__pycache__/__init__.cpython-38.pyc differ diff --git a/backend/disease_prediction/models.py b/backend/disease_prediction/models.py index c487dec403fdf33664423ed3bb0ccced07a8f3f3..0cd08bde4cbb9d1e0005f0cbe04ceb2df8990079 100644 --- a/backend/disease_prediction/models.py +++ b/backend/disease_prediction/models.py @@ -23,10 +23,17 @@ class Disease(models.Model): class Prediction(models.Model): image = models.ImageField(upload_to=upload_to_image) - imageName = models.CharField(max_length=30) - diseases = models.ManyToManyField(Disease) + imageName = models.CharField(max_length=600) + diseases = models.ManyToManyField(Disease, related_name='predictions') scanned = models.BooleanField(default=True) severity = models.FloatField() + # manual inputs + manualDiseases = models.ManyToManyField(Disease, default=None, related_name='manual_predictions') + manualSeverity = models.IntegerField(default=None, null=True) + resistantVarieties = models.BooleanField(default=False) + copperBasedSynthetic = models.BooleanField(default=False) + additionalSuggestion = models.CharField(max_length=400, default=None, null=True) + uploadTime = models.DateTimeField(auto_now_add=True) predictedImage = models.ImageField( upload_to=upload_to_prediction, blank=True, null=True diff --git a/backend/disease_prediction/predictionSerializers.py b/backend/disease_prediction/predictionSerializers.py index 8e5feb2304931fe57f6dce76058e7b400b817b9a..fbec08a7cb40678d7590e01c65d48ae66f395cf2 100644 --- a/backend/disease_prediction/predictionSerializers.py +++ b/backend/disease_prediction/predictionSerializers.py @@ -7,6 +7,7 @@ from datetime import timedelta class PredictionSerializer(ModelSerializer): diseases = SerializerMethodField() + manualDiseases = SerializerMethodField() originalImageSize = SerializerMethodField() predictedImageSize = SerializerMethodField() uploadTime = SerializerMethodField() @@ -22,9 +23,13 @@ class PredictionSerializer(ModelSerializer): def get_diseases(self, object): diseases = object.diseases.all() return [disease.name for disease in diseases] - + + def get_manualDiseases(self, object): + diseases = object.manualDiseases.all() + return [disease.name for disease in diseases] + def get_uploadTime(self,object:Prediction): - time = object.uploadTime.timestamp() + time = object.uploadTime.timestamp() return time class Meta: @@ -40,4 +45,9 @@ class PredictionSerializer(ModelSerializer): "scanned", "severity", "uploadTime", + "manualDiseases", + "manualSeverity", + "resistantVarieties", + "copperBasedSynthetic", + "additionalSuggestion", ] diff --git a/backend/disease_prediction/urls.py b/backend/disease_prediction/urls.py index 2fc68939706f9fb8b45b794953c70ca3c0829631..0e2a472dd52d2baf405f259d3c53e9c9a21ca308 100644 --- a/backend/disease_prediction/urls.py +++ b/backend/disease_prediction/urls.py @@ -4,4 +4,6 @@ from . import views urlpatterns = [ path("api/predict/", views.predict), path("api/predict/get-data/", views.getAllData), + path("api/add-manual-result/", views.add_manual_diagnosis), + path("api/get-manual-result/", views.get_manual_diagnosis), ] diff --git a/backend/disease_prediction/views.py b/backend/disease_prediction/views.py index 21f2ccf59a5bad6a16aee05e66f9b3109dcc0052..46833477e1d4d328e8a629893cfe63ba644237ea 100644 --- a/backend/disease_prediction/views.py +++ b/backend/disease_prediction/views.py @@ -4,12 +4,16 @@ from rest_framework.decorators import parser_classes from rest_framework.permissions import IsAuthenticated from rest_framework.response import Response from rest_framework.parsers import MultiPartParser, FormParser +import os +# Set CUDA_VISIBLE_DEVICES to an empty string to hide GPUs +os.environ['CUDA_VISIBLE_DEVICES'] = '' import tensorflow as tf from .models import * from .predictionSerializers import * import cv2 as cv import numpy as np from django.core.files.base import ContentFile +import math # Create your views here. @@ -100,6 +104,62 @@ def getAllData(request): return Response(serializer.data) +@api_view(["POST"]) +@parser_classes([FormParser]) +@permission_classes([IsAuthenticated]) +def add_manual_diagnosis(request): + user = request.user + data = request.data + data_id = data["data_id"] + manual_diagnosis = data["manual_diagnosis"].split(",") + manual_severity = data["manual_severity"] + resistant_varieties = data["resistant_varieties"] + copper_based_synthetic = data["copper_based_synthetic"] + additional_suggestion = data["additional_suggestion"] + + if not manual_severity or not manual_diagnosis: + raise KeyError() + prediction = Prediction.objects.filter(user=user, id=data_id).first() + diseaseObjects = [] + + for diseaseName in manual_diagnosis: + disease = Disease.objects.get_or_create(name=diseaseName) + diseaseObjects.append(disease) + + for disease, exist in diseaseObjects: + prediction.manualDiseases.add(disease) + prediction.manualSeverity = int(manual_severity) + prediction.resistantVarieties = True if resistant_varieties == "true" else False + prediction.copperBasedSynthetic = True if copper_based_synthetic == "true" else False + prediction.additionalSuggestion = additional_suggestion + prediction.save() + serializer = PredictionSerializer(prediction) + return Response(serializer.data) + + +@api_view(["POST"]) +@parser_classes([FormParser]) +@permission_classes([IsAuthenticated]) +def get_manual_diagnosis(request): + user = request.user + data = request.data + data_id = data["data_id"] + prediction = Prediction.objects.filter(user=user, id=data_id).first() + diseases = prediction.manualDiseases.all() + manual_diagnoses = [disease.name for disease in diseases] + manual_severity = prediction.manualSeverity if prediction.manualSeverity else 0 + resistant_varieties = prediction.resistantVarieties if prediction.resistantVarieties else False + copper_based_synthetic = prediction.copperBasedSynthetic if prediction.copperBasedSynthetic else False + additional_suggestion = prediction.additionalSuggestion if prediction.additionalSuggestion else None + return Response({ + "Disease": manual_diagnoses, + "Severity": manual_severity, + "resistantVarieties": resistant_varieties, + "copperBasedSynthetic": copper_based_synthetic, + "additionalSuggestion": additional_suggestion, + }) + + def segmentImage(image): segmentation = segmentationModel.predict(np.array([image])) segmentation = segmentation[0] diff --git a/backend/feedback/__pycache__/__init__.cpython-310.pyc b/backend/feedback/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0e1f5242731908f169812b96c022218f9596c19d Binary files /dev/null and b/backend/feedback/__pycache__/__init__.cpython-310.pyc differ diff --git a/backend/feedback/__pycache__/__init__.cpython-38.pyc b/backend/feedback/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..15fb8c624954e736228fa801ad2bf6780856c2a7 Binary files /dev/null and b/backend/feedback/__pycache__/__init__.cpython-38.pyc differ diff --git a/backend/feedback/__pycache__/admin.cpython-310.pyc b/backend/feedback/__pycache__/admin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f4daa101f798d32db0b148da0aec2513a9114e71 Binary files /dev/null and b/backend/feedback/__pycache__/admin.cpython-310.pyc differ diff --git a/backend/feedback/__pycache__/admin.cpython-38.pyc b/backend/feedback/__pycache__/admin.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..744ed5457331ff36f36f2366ad765e5ae72de421 Binary files /dev/null and b/backend/feedback/__pycache__/admin.cpython-38.pyc differ diff --git a/backend/feedback/__pycache__/apps.cpython-310.pyc b/backend/feedback/__pycache__/apps.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..756c6ddc0d2b200abe0cd8bf010909ba7e8cee0a Binary files /dev/null and b/backend/feedback/__pycache__/apps.cpython-310.pyc differ diff --git a/backend/feedback/__pycache__/apps.cpython-38.pyc b/backend/feedback/__pycache__/apps.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cca98fd63cb2c783426f9ec29ec34001a9caaac8 Binary files /dev/null and b/backend/feedback/__pycache__/apps.cpython-38.pyc differ diff --git a/backend/feedback/__pycache__/models.cpython-310.pyc b/backend/feedback/__pycache__/models.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a3e105ad5fedfdd95d78cb21332dca4546e252d5 Binary files /dev/null and b/backend/feedback/__pycache__/models.cpython-310.pyc differ diff --git a/backend/feedback/__pycache__/models.cpython-38.pyc b/backend/feedback/__pycache__/models.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9d4f09d5f4aee351c47edfe4da29a14dd42be2f9 Binary files /dev/null and b/backend/feedback/__pycache__/models.cpython-38.pyc differ diff --git a/backend/feedback/__pycache__/urls.cpython-310.pyc b/backend/feedback/__pycache__/urls.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f1681b3f03c12eef4876c7523cae17dfdac38ef3 Binary files /dev/null and b/backend/feedback/__pycache__/urls.cpython-310.pyc differ diff --git a/backend/feedback/__pycache__/urls.cpython-38.pyc b/backend/feedback/__pycache__/urls.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d1aa42e00064eb7d95f8c34aa767f83b9c741414 Binary files /dev/null and b/backend/feedback/__pycache__/urls.cpython-38.pyc differ diff --git a/backend/feedback/__pycache__/views.cpython-310.pyc b/backend/feedback/__pycache__/views.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0148f0f7c82b668c38b2ec9aab78dd6516b6246c Binary files /dev/null and b/backend/feedback/__pycache__/views.cpython-310.pyc differ diff --git a/backend/feedback/__pycache__/views.cpython-38.pyc b/backend/feedback/__pycache__/views.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8f0e524d9c254240fe634c34013c32af7fe67e15 Binary files /dev/null and b/backend/feedback/__pycache__/views.cpython-38.pyc differ diff --git a/backend/feedback/migrations/0001_initial.py b/backend/feedback/migrations/0001_initial.py index f266825e53da80795ed06db8dc0bcb406a2d25f8..3d3191bd2cb3330b81a205ec8f83e57d80867d0f 100644 --- a/backend/feedback/migrations/0001_initial.py +++ b/backend/feedback/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 4.2.1 on 2023-06-06 08:09 +# Generated by Django 4.2.1 on 2023-09-01 06:22 from django.conf import settings from django.db import migrations, models @@ -6,7 +6,6 @@ import django.db.models.deletion class Migration(migrations.Migration): - initial = True dependencies = [ @@ -15,16 +14,31 @@ class Migration(migrations.Migration): operations = [ migrations.CreateModel( - name='Feedback', + name="Feedback", fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('subject', models.CharField(max_length=30)), - ('content', models.TextField()), - ('created', models.DateTimeField(auto_now_add=True)), - ('user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)), + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("subject", models.CharField(max_length=30)), + ("content", models.TextField()), + ("created", models.DateTimeField(auto_now_add=True)), + ( + "user", + models.ForeignKey( + null=True, + on_delete=django.db.models.deletion.SET_NULL, + to=settings.AUTH_USER_MODEL, + ), + ), ], options={ - 'ordering': ['-created'], + "ordering": ["-created"], }, ), ] diff --git a/backend/feedback/migrations/__pycache__/0001_initial.cpython-310.pyc b/backend/feedback/migrations/__pycache__/0001_initial.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..72ab23201fe5d3dee0821e341ad4dfd7d13adb54 Binary files /dev/null and b/backend/feedback/migrations/__pycache__/0001_initial.cpython-310.pyc differ diff --git a/backend/feedback/migrations/__pycache__/0001_initial.cpython-311.pyc b/backend/feedback/migrations/__pycache__/0001_initial.cpython-311.pyc deleted file mode 100644 index c08e6f879877566e4cc55f0d541c089d0f0437bf..0000000000000000000000000000000000000000 Binary files a/backend/feedback/migrations/__pycache__/0001_initial.cpython-311.pyc and /dev/null differ diff --git a/backend/feedback/migrations/__pycache__/0001_initial.cpython-38.pyc b/backend/feedback/migrations/__pycache__/0001_initial.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..395bd22f0b5401a09fafd8ac7ad6944aa831e4f5 Binary files /dev/null and b/backend/feedback/migrations/__pycache__/0001_initial.cpython-38.pyc differ diff --git a/backend/feedback/migrations/__pycache__/__init__.cpython-310.pyc b/backend/feedback/migrations/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a127f4cbbd50d673bcf4a1e17924dea3a55f0216 Binary files /dev/null and b/backend/feedback/migrations/__pycache__/__init__.cpython-310.pyc differ diff --git a/backend/feedback/migrations/__pycache__/__init__.cpython-311.pyc b/backend/feedback/migrations/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index 19c88f2365f0f98c68f0483a13ef0ccd58329b8a..0000000000000000000000000000000000000000 Binary files a/backend/feedback/migrations/__pycache__/__init__.cpython-311.pyc and /dev/null differ diff --git a/backend/feedback/migrations/__pycache__/__init__.cpython-38.pyc b/backend/feedback/migrations/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..01fe3fa60b06f7549cfca5f0d87ad7faf982f197 Binary files /dev/null and b/backend/feedback/migrations/__pycache__/__init__.cpython-38.pyc differ diff --git a/backend/requirements.txt b/backend/requirements.txt index b355760a7ed63c10ab984685ff27ba0bcf30e8bd..4a555e27448c41cb837fe2aebce07389e4912a10 100644 Binary files a/backend/requirements.txt and b/backend/requirements.txt differ diff --git a/backend/user/__pycache__/__init__.cpython-310.pyc b/backend/user/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4237da92f4c69b329fed859c613db9cbb14ec09f Binary files /dev/null and b/backend/user/__pycache__/__init__.cpython-310.pyc differ diff --git a/backend/user/__pycache__/__init__.cpython-38.pyc b/backend/user/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..983d61972802b8dc97c83025cad4af5a0d077b94 Binary files /dev/null and b/backend/user/__pycache__/__init__.cpython-38.pyc differ diff --git a/backend/user/__pycache__/admin.cpython-310.pyc b/backend/user/__pycache__/admin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d011ca4c6094de989baaa39074a1311825a04dca Binary files /dev/null and b/backend/user/__pycache__/admin.cpython-310.pyc differ diff --git a/backend/user/__pycache__/admin.cpython-38.pyc b/backend/user/__pycache__/admin.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..145b692b6d36b49291b5a60e3d97a594ecb42e64 Binary files /dev/null and b/backend/user/__pycache__/admin.cpython-38.pyc differ diff --git a/backend/user/__pycache__/apps.cpython-310.pyc b/backend/user/__pycache__/apps.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..24077099f8e174fa18c6ac18d586e425db3e9080 Binary files /dev/null and b/backend/user/__pycache__/apps.cpython-310.pyc differ diff --git a/backend/user/__pycache__/apps.cpython-38.pyc b/backend/user/__pycache__/apps.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d2ff19b2e36fdedadffa48634cdb04cc59eb232c Binary files /dev/null and b/backend/user/__pycache__/apps.cpython-38.pyc differ diff --git a/backend/user/__pycache__/models.cpython-310.pyc b/backend/user/__pycache__/models.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6adba5eba077d8282d9dbd0894f649fb8ba2fcb3 Binary files /dev/null and b/backend/user/__pycache__/models.cpython-310.pyc differ diff --git a/backend/user/__pycache__/models.cpython-38.pyc b/backend/user/__pycache__/models.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d711966c8f177399dde2f77fdee791379fd573b1 Binary files /dev/null and b/backend/user/__pycache__/models.cpython-38.pyc differ diff --git a/backend/user/__pycache__/urls.cpython-310.pyc b/backend/user/__pycache__/urls.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d7382061623bf846a15a30cbcdae23d65cf4a011 Binary files /dev/null and b/backend/user/__pycache__/urls.cpython-310.pyc differ diff --git a/backend/user/__pycache__/urls.cpython-38.pyc b/backend/user/__pycache__/urls.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..256199e68baaf9e2af7fe2e168de573d28156cde Binary files /dev/null and b/backend/user/__pycache__/urls.cpython-38.pyc differ diff --git a/backend/user/__pycache__/userSerializers.cpython-310.pyc b/backend/user/__pycache__/userSerializers.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..042673779139b7ab568adcacda3a8a0260eefd31 Binary files /dev/null and b/backend/user/__pycache__/userSerializers.cpython-310.pyc differ diff --git a/backend/user/__pycache__/userSerializers.cpython-38.pyc b/backend/user/__pycache__/userSerializers.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..77212235da215d4af1e5339fb5925a7a8a856214 Binary files /dev/null and b/backend/user/__pycache__/userSerializers.cpython-38.pyc differ diff --git a/backend/user/__pycache__/views.cpython-310.pyc b/backend/user/__pycache__/views.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..42c49c6ec23e7c46c4ce9c75da93efa5b9dd3256 Binary files /dev/null and b/backend/user/__pycache__/views.cpython-310.pyc differ diff --git a/backend/user/__pycache__/views.cpython-38.pyc b/backend/user/__pycache__/views.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3f9d89f4d43d332b38626dfcf2d259ab39dde92e Binary files /dev/null and b/backend/user/__pycache__/views.cpython-38.pyc differ diff --git a/backend/user/migrations/__pycache__/__init__.cpython-310.pyc b/backend/user/migrations/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d26a22b59905adbdea36c73b5ac4a9261eda1170 Binary files /dev/null and b/backend/user/migrations/__pycache__/__init__.cpython-310.pyc differ diff --git a/backend/user/migrations/__pycache__/__init__.cpython-38.pyc b/backend/user/migrations/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b5ba771b5c34e82937ff0442f59300203f52a933 Binary files /dev/null and b/backend/user/migrations/__pycache__/__init__.cpython-38.pyc differ diff --git a/backend/wsgi.py b/backend/wsgi.py new file mode 100644 index 0000000000000000000000000000000000000000..f2cb0475cdc1b96cd45449bfbfdd3ba686dfe8af --- /dev/null +++ b/backend/wsgi.py @@ -0,0 +1,6 @@ +#!/usr/bin/python3 +import uwsgi +#from API import app as application + +if __name__ == "__main__": + uwsgi.run()