Giter Site home page Giter Site logo

soheib-kiani / folder-structure-react Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 0.0 12 KB

React folder structure from intermediate to advanced level.

Home Page: https://github.com/Soheib-Kiani/folder-structure-react

JavaScript 100.00%
clean-architecture clean-code documentation folder-structure react

folder-structure-react's Introduction

Folder structure in React - ساختار فولدر ها داخل ریکت


به دوسطح intermediate و advance تقسیمش کردم که خیلی خلاصه سعی میکنم اونا رو توضیح بدم :



Assets : بیشتر محل ذخیره فونت - عکس¬ – لوگو کابرد داره و اینکه همیشه پای ثابت همه پروژه های ریکتی هستش.

Components : این مورد شاید یکم ابهام داشته باشه چون ما هم private و shared کامپوننت داریم. shared ها همیشه داخل فولدر مخصوص به اون ویژگی قرار میگیرن به این معنی که فقط در یک قسمت خاص کاربرد دارن. مثلا ما داخل صفحه x فقط نیاز به کامپوننت modal داریم که مخصوص این صفحه هستش و در صفحات دیگر کاربردی نداره. ولی کامپوننت هایی رو داریم که بصورت global تعریف میشن و داخل بیشتر صفحات بکار میرن.

Context : سراغ مفهوم context نمیرم ولی نکته مهمی داخل این پروژه باید بهش توجه بشه اینکه ما test های context رو داخل همین پوشه بنویسیم و نیایم فایل تست هامون رو داخل یک folder جداگونه تعریف بکنیم.

data : محل خوندن فایل های json و همچنین دیتا¬های مورد نیاز پروژه. من خودم برای خوندن api هام ازاین folder استفاده میکنم.

hooks : این هم مثل کامپوننت ها هستش که باید مشخص بکنیم چه هوک هایی بیشتر در صفحات کاربرد دارن و چه هوک هایی فقط در یک فانکشن یا صفحه مشخص کابرد دارند. نکته مهم دیگه تست های این قسمت هم باید داخل همین folder تعریف بشه.

pages : صفحات ما در این قسمت قرار میگیرن که میتونیم به اینصورت تعریف کنیم. Folder ثبت نام که داخلش فایل هایی مثل ثبت شماره – ثبت اطلاعات شخصی و ... درصفحات مجزا تعریف شده باشهو مثال راحت ترش رو بگم مثل اینه :
register/phoneNumber register/detail

utils : از این فولدر ما برای function به اصطلاح کوچیک استفاده میکنیم. حالا این فانکشن ها هر کدومشون یه تسک خاصی رو انجام میدن و از همه مهم تر این فانکشن ها تا جای ممکن باید pure function باشن.

layouts : یکسری layout هستن مثل navigation – footer – sidebar اینا داخل این فولدر تعریف میشن.

services : برای کار با api ها کاربرد داره.

Lib : به اصظلاح بهش میگن نقشش در third-party library ها هستش. داخل پروژه های در scale بزرگ یکسری از پکیج ها و کتابخانه هستن که باید بصورت جداگانه تعریف بشن تا از تکرار کد ها جلوگیری بشه مثلا axios.
Features : و اما مهم ترینشون که واقعا کار با این مورد یکی از سخت ترین ها هستش چون با تجربه به دست میاد. یک کابردش رو میگم شاید کمکت کردو شما یه پروژه های آوردی بالا و بابش پول پشتیبانی میگیری. حالا کارفرما میگه شما زحمت بکش یه todolist بهش اضافه بکن. خب اینجاس که ساختار پروژت خیلی بهت کمک میکنه. تو میای داخل همین folder یک ویژگی جدیدی درست میکنی و از این به بعد هندل کردن featureهای جدید خیلی برات راحت تر میشه.

Contact me

folder-structure-react's People

Contributors

soheib-kiani avatar

Stargazers

Yugandhar Dasari_DEV avatar Hamada avatar jist avatar Esmaeil Ahmadipour avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.