From 413c125c96c983c29a40106ae7fba42bbb57d771 Mon Sep 17 00:00:00 2001 From: Saivarun Date: Fri, 14 Aug 2026 01:36:10 +0530 Subject: [PATCH 1/2] /api/auth.register is implemented --- backend/apps/authentication/serializers.py | 21 ++++++++++++++++++ backend/apps/authentication/urls.py | 6 +++++ backend/apps/authentication/views.py | 7 ++++++ .../__pycache__/__init__.cpython-312.pyc | Bin 182 -> 0 bytes .../__pycache__/settings.cpython-312.pyc | Bin 2546 -> 0 bytes backend/config/settings.py | 7 ++---- backend/config/urls.py | 10 ++++----- backend/docker-compose.yml | 9 ++++++++ 8 files changed, 50 insertions(+), 10 deletions(-) create mode 100644 backend/apps/authentication/serializers.py delete mode 100644 backend/config/__pycache__/__init__.cpython-312.pyc delete mode 100644 backend/config/__pycache__/settings.cpython-312.pyc create mode 100644 backend/docker-compose.yml diff --git a/backend/apps/authentication/serializers.py b/backend/apps/authentication/serializers.py new file mode 100644 index 0000000..798cb24 --- /dev/null +++ b/backend/apps/authentication/serializers.py @@ -0,0 +1,21 @@ +from rest_framework import serializers +from django.contrib.auth.models import User + +class RegisterSerializer(serializers.ModelSerializer): + username=serializers.CharField(validators=[]) + password=serializers.CharField(write_only=True) + class Meta: + model=User + fields=['username','email','password'] + + def validate_username(self,value): + if not all(char.isalnum() or char=="_" for char in value): + raise serializers.ValidationError("Username should contain only alpha,numerics and underscore") + + if User.objects.filter(username=value).exists(): + raise serializers.ValidationError("Username already exists") + return value + + def create(self,validated_data): + user=User.objects.create_user(username=validated_data['username'],email=validated_data['email'],password=validated_data['password']) + return user \ No newline at end of file diff --git a/backend/apps/authentication/urls.py b/backend/apps/authentication/urls.py index e69de29..e452884 100644 --- a/backend/apps/authentication/urls.py +++ b/backend/apps/authentication/urls.py @@ -0,0 +1,6 @@ +from django.urls import path +from . import views + +urlpatterns=[ + path('register/',views.RegisterationView.as_view(),name='register'), +] \ No newline at end of file diff --git a/backend/apps/authentication/views.py b/backend/apps/authentication/views.py index e69de29..b07f742 100644 --- a/backend/apps/authentication/views.py +++ b/backend/apps/authentication/views.py @@ -0,0 +1,7 @@ +from rest_framework import generics +from django.contrib.auth.models import User +from .serializers import RegisterSerializer + +class RegisterationView(generics.CreateAPIView): + queryset=User.objects.all() + serializer_class=RegisterSerializer \ No newline at end of file diff --git a/backend/config/__pycache__/__init__.cpython-312.pyc b/backend/config/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index 1153bc82b1c390aacae437e99faa2843b30281fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 182 zcmX@j%ge<81h4g~vq1D?5P=Rpvj9b=GgLBYGWxA#C}INgK7-W!3U#)Mam&m}Esjsj zONlSZ$jnPGj?XX2NG$?#67%AVD~n4~b7P$IQ-CrtZi&SinfWnk5GpA#IXg8kB_=sP wFD)}YCO$qhFS8^*Uaz3?7Kcr4eoARhs$CH)&=y7@E(S3^GBYwV7BK@^0876yn*aa+ diff --git a/backend/config/__pycache__/settings.cpython-312.pyc b/backend/config/__pycache__/settings.cpython-312.pyc deleted file mode 100644 index e0e49c1cdfb30057a4955f065be1a9eeac49f96b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2546 zcmb7GJ8#=o6ejh4Tb7mBd9+ZFCaIj7g5x4_f+Q_1(T)(kDoSxn7$7L!EBQJUsgP70 zvx_=+>DCUJvK9F$U2JrS!O1|UqKllgOS|-tl43zN&{U9k?>&$2oO@o>FVSd-g3lk! zw>$qtDC#%+F#h;Pn|FW0=0^%q0)=SglIf01aM6^D!Y=H7O%J7Zf@8Il_4R1G_anVn4(bprHjzQ44Op=keWqv&NJye&k?%q5#s2)FpK7e1lXH{UlJ_{=K$jZx<~+7 zIKOu(eOXGw^+LHFNolJo9UBHw+Ip&`YN@8Gv`9PE)zlr_G?-9m11ngQ42)8Zz0?il zs4PjSLzI+mNSZN{ypihZ0FoME-e#6TcO3vbs)kcU0ql-s5LHRR*VratjmY>jFpfjp zhSAmUWim)@>der>*nU&(WU!I}xQwB8NmI{^z0C~ajcuH2^<+6E6WvIut&`hG3Iaoz zXsPFt+{60+v8CbGgrVQ<#HMM>Q<02qb8Qp@qUgBU)9}(RYTbQsw=0XQjb-V|ifYPA z>(MIS&9ZX_#HTO&F=$g~&N+vHS?Pq@HZNuT#`G35xzqCI((HLqHtu(=N-$l{WGv z&hnJlBB#Neq|8TCemk|$m2`bq)sP4ifgr~mQ`fP^8g?Lh2IfhJ$dX;+PlghzWrzb8Pv#Fg+B*3aqg_XQ$r^@m#jb)x^i#H=INpkH@*8i)_BYRr#N(cW`s+?|Sy$*1A1DMR@0k@N$Efsi?xN(cmB{ zqQ0j?dv9e`1e~pPN#7>wR%^J7+I?%-4O`>48`Ish0{1&A>dE+_b{(wP|3~y$cn;h& zO&_~LwCAq{ioS5{qayJi0^dJ;6TWf~zVd7M>YMQ5L3r^^c=;f_+z$+5RIEz(LjxZb zjP|`p@kBrRHsnvZ`mwi(K+FZ4Bo+Ut9~lIwBu5{{6Nkx#qe$v4<+&OgxP8gcaWL%l z4cyVFs~;SEOeL50sW_l|V}}XmFuw59{e$?8W3M|7GG0gKA{Ct3j|&603-kicp)z^+ zYVuGW9?nHCyY{Jt!F6hOp&vbp%=Uvv;hBEm2%Po}B2;W19CeHaX7}f^pk&+ggk9hH JwND^4{{rCSOveBK diff --git a/backend/config/settings.py b/backend/config/settings.py index 3a6af5a..d24a4f2 100644 --- a/backend/config/settings.py +++ b/backend/config/settings.py @@ -11,7 +11,7 @@ """ from pathlib import Path -from os import os +import os # Build paths inside the project like this: BASE_DIR / 'subdir'. BASE_DIR = Path(__file__).resolve().parent.parent @@ -38,11 +38,8 @@ "django.contrib.sessions", "django.contrib.messages", "django.contrib.staticfiles", + "rest_framework", "apps.authentication", - "apps.catalog", - "apps.orders", - "apps.profiles", - "apps.sellers", ] MIDDLEWARE = [ diff --git a/backend/config/urls.py b/backend/config/urls.py index 5f2fa71..2a0d6f4 100644 --- a/backend/config/urls.py +++ b/backend/config/urls.py @@ -20,9 +20,9 @@ urlpatterns = [ path("admin/", admin.site.urls), - path("authentication/", include("apps.authentication.urls")), - path("catalog/", include("apps.catalog.urls")), - path("order/", include("apps.orders.urls")), - path("profile/", include("apps.profiles.urls")), - path("seller/", include("apps.sellers.urls")), + path("api/auth/", include("apps.authentication.urls")), + #path("catalog/", include("apps.catalog.urls")), + #path("order/", include("apps.orders.urls")), + #path("profile/", include("apps.profiles.urls")), + #path("seller/", include("apps.sellers.urls")), ] diff --git a/backend/docker-compose.yml b/backend/docker-compose.yml new file mode 100644 index 0000000..63a9e82 --- /dev/null +++ b/backend/docker-compose.yml @@ -0,0 +1,9 @@ +services: + db: + image: postgres:16 + environment: + POSTGRES_DB: fashio + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + ports: + - "5432:5432" \ No newline at end of file From 894f091007d0eab773c4b1e59011a5697da93b68 Mon Sep 17 00:00:00 2001 From: Saivarun Date: Fri, 14 Aug 2026 01:45:51 +0530 Subject: [PATCH 2/2] flake8 impl --- backend/apps/authentication/serializers.py | 32 ++++++++++++++-------- backend/apps/authentication/urls.py | 6 ++-- backend/apps/authentication/views.py | 5 ++-- backend/config/urls.py | 8 +++--- 4 files changed, 30 insertions(+), 21 deletions(-) diff --git a/backend/apps/authentication/serializers.py b/backend/apps/authentication/serializers.py index 798cb24..1e05aec 100644 --- a/backend/apps/authentication/serializers.py +++ b/backend/apps/authentication/serializers.py @@ -1,21 +1,29 @@ from rest_framework import serializers from django.contrib.auth.models import User + class RegisterSerializer(serializers.ModelSerializer): - username=serializers.CharField(validators=[]) - password=serializers.CharField(write_only=True) + username = serializers.CharField(validators=[]) + password = serializers.CharField(write_only=True) + class Meta: - model=User - fields=['username','email','password'] - - def validate_username(self,value): - if not all(char.isalnum() or char=="_" for char in value): - raise serializers.ValidationError("Username should contain only alpha,numerics and underscore") - + model = User + fields = ["username", "email", "password"] + + def validate_username(self, value): + if not all(char.isalnum() or char == "_" for char in value): + raise serializers.ValidationError( + "Username should contain only alpha,numerics and underscore" + ) + if User.objects.filter(username=value).exists(): raise serializers.ValidationError("Username already exists") return value - def create(self,validated_data): - user=User.objects.create_user(username=validated_data['username'],email=validated_data['email'],password=validated_data['password']) - return user \ No newline at end of file + def create(self, validated_data): + user = User.objects.create_user( + username=validated_data["username"], + email=validated_data["email"], + password=validated_data["password"], + ) + return user diff --git a/backend/apps/authentication/urls.py b/backend/apps/authentication/urls.py index e452884..9493e7e 100644 --- a/backend/apps/authentication/urls.py +++ b/backend/apps/authentication/urls.py @@ -1,6 +1,6 @@ from django.urls import path from . import views -urlpatterns=[ - path('register/',views.RegisterationView.as_view(),name='register'), -] \ No newline at end of file +urlpatterns = [ + path("register/", views.RegisterationView.as_view(), name="register"), +] diff --git a/backend/apps/authentication/views.py b/backend/apps/authentication/views.py index b07f742..83a9ba8 100644 --- a/backend/apps/authentication/views.py +++ b/backend/apps/authentication/views.py @@ -2,6 +2,7 @@ from django.contrib.auth.models import User from .serializers import RegisterSerializer + class RegisterationView(generics.CreateAPIView): - queryset=User.objects.all() - serializer_class=RegisterSerializer \ No newline at end of file + queryset = User.objects.all() + serializer_class = RegisterSerializer diff --git a/backend/config/urls.py b/backend/config/urls.py index 2a0d6f4..7222372 100644 --- a/backend/config/urls.py +++ b/backend/config/urls.py @@ -21,8 +21,8 @@ urlpatterns = [ path("admin/", admin.site.urls), path("api/auth/", include("apps.authentication.urls")), - #path("catalog/", include("apps.catalog.urls")), - #path("order/", include("apps.orders.urls")), - #path("profile/", include("apps.profiles.urls")), - #path("seller/", include("apps.sellers.urls")), + # path("catalog/", include("apps.catalog.urls")), + # path("order/", include("apps.orders.urls")), + # path("profile/", include("apps.profiles.urls")), + # path("seller/", include("apps.sellers.urls")), ]