معرفی DEVBlogs – Linode + DEV Hackathon

چیزی که من ساختم
من یک کلون از dev.to ساختم که اکثر ویژگی های آن را در خود جای داده است. سایتی که من ساختم عملکردی مشابه dev.to دارد و به کاربران اجازه می دهد تا پروفایل ایجاد کنند، مقاله منتشر کنند، با سایر کاربران از طریق نظرات و واکنش ها تعامل داشته باشند.
ارسال دسته:
وایلدکارت حواس پرت
لینک برنامه
https://django-devblogs.vercel.app/
اسکرین شات ها
صفحه نخست
صفحه برای نوشتن مقاله
مشخصات کاربر
شرح
این یک کلون dev.to است که اکثر ویژگی های آن را در خود جای داده است. سایتی که من ساختم عملکردی مشابه dev.to دارد و به کاربران اجازه میدهد پروفایل ایجاد کنند، مقالات منتشر کنند، با سایر کاربران از طریق نظرات و واکنشها تعامل داشته باشند و بسیاری موارد دیگر. Backend با Django و DjangoRestFrameword ساخته شده است و برای frontend من از ReactJs استفاده کرده ام.
پیوند به کد منبع
کد منبع: – Github
مجوز مجاز
مجوز GPL-3.0
زمینه
اخیراً DjangoRestFramework و ReactJs را یاد گرفتم و میخواستم هر دو فناوری را بررسی کنم و ایدههایی برای یک پروژه جدید داشته باشم. در نهایت، تصمیم گرفتم یک کلون dev.to ایجاد کنم، زیرا به من این امکان را می دهد که دانش تازه به دست آمده خود را به روشی عملی به کار ببرم و در عین حال عملکرد یک پلتفرم محبوب برای توسعه دهندگان نرم افزار را نیز تکرار کنم.
چگونه آن را ساختم
من از Django و DjangoRestFramework برای ساخت API استفاده کردم و به لطف اعتبار 100 دلاری آن را روی سرور Linode مستقر کردم. من یاد گرفتم که چگونه یک سرور لینوکس را راه اندازی کنم این مقاله بسیار مفید بود. من با استفاده از Apache + mod_wsgi
برای برنامه من، بنابراین من همچنین یاد گرفتم که چگونه Apache را پیکربندی کنم، همچنین یاد گرفتم که چگونه نام دامنه سفارشی را برای سرور خود تنظیم کنم و بسیاری موارد دیگر. من هم همینطور؛ نحوه استفاده را یاد گرفت lets necrypt
و certbot
برای صدور گواهینامه ssl و نحوه تولید خودکار آن پس از 90 روز.
برخی از چالش هایی که با آن مواجه شدم
- من با reactjs بسیار تازه کار هستم، بنابراین مدیریت زمینه برای من بسیار چالش برانگیز بود، هنوز برخی از اجزای پروژه وجود دارد که در آن زمینه به درستی مدیریت نمی شود.
- ثابت شد که استقرار API پشتیبان دومین جنبه چالش برانگیز پروژه است، اما مستندات Linode و YouTube Vides کمک زیادی به من کرد.
- یکی از چالش های دیگری که در طول پروژه با آن مواجه شدم، پیکربندی آپاچی و mod_wsgi بود. به عنوان مثال، زمانی که پروژه را اجرا کردم، با مشکلی مواجه شدم که کاربران قادر به احراز هویت با توکن خود نبودند. برای حل این مشکل چندین ساعت عیب یابی به طول انجامید.
منابع/اطلاعات اضافی
پشته فناوری
- جانگو
- DjangoRestFramework
- ReactJs
- Linode (برای استقرار باطن)
- Vercel (برای استقرار frontend)
نتیجه
در پایان، توسعه یک کلون dev.to یک پروژه پر ارزش و چالش برانگیز بوده است که به من این امکان را می دهد تا مهارت های خود را به عنوان یک توسعه دهنده به نمایش بگذارم. از طریق این پروژه، من تجربیات و دانش ارزشمندی را به دست آورده ام که می توانم آن را در تلاش های آینده به کار ببرم و مشتاقانه منتظر ادامه نوآوری و کشف امکانات جدید در زمینه توسعه نرم افزار هستم.