Full Stack Developer and Mobile Developer
ساخت Snapp food Clone 🍔 _ بخش اول
با سلام
در این پست از تجربه شخصی خودم از ساخت یک نسخه clone از اسنپ فود توضیح می دم.

برای ساخت این clone من از دو تکنولوژی زیر استفاده می کنم برای back end از Django rest framework و برای front end از React.js استفاده می کنم.

در ابتدا باید سراغ back end برویم ، پیشنهاد من برای ساخت سریع back end برای rest api فریم ورک
Django rest framework
است این فریم ورک بسیار سبک و راحت هست و می توانید خیلی راحت و سریع یک api بسازید.
در ادامه به ساخت این clone به صورت گام به گام می پردازیم.
گام اول: ساخت back end
در ابتدا با دستور زیر یک پروژه django rest framework می سازیم.
pip install djangorestframework
سپس دستور زیر را در settings.py اضافه کنید
INSTALLED_APPS = [ ... 'rest_framework',]
سپس در فایل urls.py کد زیر را اضافه می کنیم
urlpatterns = [ ... path('api-auth/', include('rest_framework.urls'))]
در مرحله بعد ساختار فایل ها و پوشه ها باید به صورت زیر باشد

در تصویر بالا ساختار فایل های back end را مشاهده می کنید
در مرحله بعد یک app بسازید با نام snappApi
برای ساخت app می توانید از دستور زیر استفاده کنید
python manage.py startapp snappApi
استفاده کنید
گام دوم : ساخت مدل models
در مرحله بعد به بررسی ساخت مدل های برنامه می پردازیم
داخل فایل models.py مدل های زیر را اضافه کنید
from django.db import models# Create your models here.class City(models.Model): title = models.CharField(max_length=150) def __str__(self): return self.title class Meta: db_table = "City"class User(models.Model): username = models.CharField(max_length=150) password = models.CharField(max_length=150) city = models.ForeignKey(City, on_delete=models.CASCADE) def __str__(self): return self.username class Meta: db_table = "User"class Category(models.Model): title = models.CharField(max_length=150) iconUrl = models.TextField() def __str__(self): return self.title class Meta: db_table = "Category"class Food(models.Model): title = models.CharField(max_length=150) price = models.DecimalField(decimal_places=0, max_digits=10) bannerUrl = models.TextField() def __str__(self): return self.title class Meta: db_table = "Food"class ShopsFood(models.Model): title = models.CharField(max_length=150) rank = models.FloatField(max_length=50) bannerUrl = models.TextField() iconUrl = models.TextField() category = models.OneToOneField(Category, on_delete=models.CASCADE) city = models.OneToOneField(City, on_delete=models.CASCADE) Foods = models.ManyToManyField(Food) def __str__(self): return self.title class Meta: db_table = "ShopsFood"در بالا مدل های User , food , shopfood ,city, category را ساختیم
نکته : می توانید به جای ساخت مدل جدید user از مدل پیشفرض django استفاده کنید
گام سوم : migration
در ابن مرحله مدل ها را migrate می کنید
ابتدا باید یک super user بسازید که از دستور زیر استفاده کنید
python manage.py createsuperuserدر مرحله بعد باید migration را بسازید
با دستور زیر می توانید بسازید
python manage.py makemigrationsو در مرحله بعد باید migration را روی database مورد نظر اجرا کنید
با استفاده از دستور زیر می توانید اجرا کنید
python manage.py migrateنکته : بنده از پایگاه داده پیشفرض django استفاده کردم که sqlite است شما می توانید از postgresql یا mysql استفاده کنید
ادامه مبحث در بخش ۲
باکیفیت ترین دوره آموزش برنامه نویسی چیست ؟
⭐⭐⭐⭐⭐ دوره ی آموزش دوازده قدم برنامه نویسی مهندس سام نیک زاد با کسب امتیاز بالاترین کیفیت دوره ی آموزشی بعنوان با کیفیت دوره انتخاب شده است برای مشاهده کلیک کنید
ثبت نام دوره با تخفیف از ویرگول
مطلبی دیگر از این انتشارات
ماشین مجازی اتریوم چیست؟
مطلبی دیگر از این انتشارات
توابع کار با رشته در PHP
مطلبی دیگر از این انتشارات
برنامهنویسی به سبک سامورایی: ژاپنیها چگونه پایدارترین نرمافزارهای دنیا را میسازند؟