سلام من کمی مبتدی هستم و آموزش های جناب موسوی را دنبال کردم.
در حال حاضر من یک پروژه ای گرفتم که بطور مداوم قرار است ویژگی های مختلف و متعددی به آن اضافه شود. مثلا یک سایت کاریابی در نظر بگیرید قرار است به این سایت در آینده یک فروشگاه افزوده شود. بعد ها قرار است. یک سیستم تبلیغاتی در آن دیده شود و حتی ارتباط با دستگاه های موبایل بصورت restful api که به نظرم lumen گفته شده جناب موسوی گزینه ی مناسبی است.
خواهشمندم راهنمایی کنید بهترین حالت برای پیاده سازی چنین پروژه ای به چه صورت است. آیا من بهتر است هر یک از این ویژگی های به نسبت بزرگ به شکل پروژه جداگانه ببینم و یا راه حل دیگری موجود است. در این حالت در زمان انتشار در سمت سرور vps یا ... به چه صورت باید پیاده سازی صورت گیرد.
خواهشمندم در صورت امکان بنده را راهنمایی کنید. به شدت به راهنمایی شما اساتید نیازمندم. با تشکر
@ehsan.harani
من از منظر دید و میزان سواد خود یک سری موارد عرض میکنم. ایشاله به کار بیاد
0 - زیاد لازم نیست نگران اضافه نمودن feature های جدید باشید به شرطی که مراحل کد نویسی و طراحی دیتابیس رو درست برید. باید قابلیتی ایجاد کنید که ( تغییر ) فیچر های جدید روی هسته پروژه شما بی تاثیر باشند.
1 - تا جایی که امکان داره کدها و سرویس هاتون رو ماژولار کنید. مثلا برای قسمت مدیریت SMS Service که دارید ، سعی نکنید سرویس خاصی که استفاده می کنید و یا تنظیمات آن را hardcode کنید. بلکه حالت interface ی برای خود ساخته که بی نیاز از سرویس استفاده شده خارجی شما باشد ( مثلا وابسته به سرویس SMS کاوه نگار یا.. نباشد) - در کل به این فکر کنید کدی که الان می نویسم اگر این قسمتش تغییر داشت آیا این تغییرات را می توانم چقدر راحت در آینده انجام دهم ( مانند وقتی که یک variable ساده که در یک کد 1000 بار تکرار می شود. اگر از اول variable را بگیرید خیالتان راحت است ولی اگر نگیرید واویلا می وشود!) --- این قسمت رو میشه به صورت خلاصه رعایت design pattern ها و best practice ها گفت ---
2 - سعی کنید تمام کد ها را به صورت تمیز نوشته و در صورت امکان تست ها را نیز از همان اول بنویسید و کار امروز را به فردا نیندازید. چون بعدا کار اصافه و اعصاب خوردی تولید می شود.
3 - در مورد دیزاین database تمام تلاش خود را کنید که دیتابیس نیاز به تغییرات کمتری داشته باشد. دیتابیس اون هسته اصلی فعلی پروژه الان که هست رو به صورت کاملا صحیح و بدون عیب با در نظر گرفتن بهینه ترین حالت های ممکن از نظر سایز و سرعت طراحی کنید ( گاهی لازم است چندین بار طراحی تغییر کنید اما سعی کنید این تغییرات در اول کار باشد )
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟