<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/a-better-way-to-structure-react-projects-ph71x6xft" -->

---
title: A Better Way to Structure React Projects | daily.dev
description: Akash Joshi: A Better Way to Structure React Projects would be better than the way we do it now. Joshi is the co-founder of React and co-creator of the popular...
canonical: https://daily.dev/posts/a-better-way-to-structure-react-projects-ph71x6xft
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: A Better Way to Structure React Projects | daily.dev
og:description: Akash Joshi: A Better Way to Structure React Projects would be better than the way we do it now. Joshi is the co-founder of React and co-creator of the popular...
og:url: https://daily.dev/posts/a-better-way-to-structure-react-projects-ph71x6xft
og:image: https://api.daily.dev/og/posts/Ph71x6XFT.png
og:image:alt: A Better Way to Structure React Projects
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# A Better Way to Structure React Projects

**[freeCodeCamp](https://daily.dev/sources/freecodecamp)** · [@thewritingdev](https://daily.dev/thewritingdev) · 6 min read · 75 upvotes · 8 comments

## Summary

Akash Joshi: A Better Way to Structure React Projects would be better than the way we do it now. Joshi is the co-founder of React and co-creator of the popular React-as-a-Service project. He also co-founded the company React.io, which allows users to share information about their React projects.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.freecodecamp.org/news/a-better-way-to-structure-react-projects/>

## Community discussion

Top comments from developers on daily.dev.

**@ashwin\_raikar88** · 3 upvotes

> it was awesome

**@mheob** · 3 upvotes

> Great article. It was well explained. But as Axel said: An example repo would be quite interesting.

**@axelerated** · 3 upvotes

> Good read but an example repo showing the ideas would speaks volumes more.

**@udi** · 3 upvotes

> Nice article.
> In IMO when you're working in a team with a big code base, the better approach is to combine all the parts of a module under the same folder. for example, If you have a Page1 module, you should create all the folders related to Page1 under the same folder. All the technical services (adapters for example) can be outside, I like to call this folder stdlib/ and put inside all the services required for the whole application.
>
>
> Module structure example:
>
>
> Page1
> | - Components
>      | - Component1
>           | - index.tsx
>           | - style.scss
>      | - Component2
> | - Hooks
> | -...

**@ghost** · 3 upvotes

> If you are heavy on heavily structuring your React app, then this will be handy specially for production or large scale apps. Won't recommend for beginners though.

## Similar posts on daily.dev

- [Don’t just attend KubeCon \+ CloudNativeCon, Merge Forward your experience\!](https://daily.dev/posts/don-t-just-attend-kubecon-cloudnativecon-merge-forward-your-experience--l0rpp73x8) · CNCF · 1 upvotes · 0 comments
- [Announcing H2 2026 KCDs](https://daily.dev/posts/announcing-h2-2026-kcds-m96goajm1) · CNCF · 1 upvotes · 0 comments
- [Two months of Open Community Groups](https://daily.dev/posts/two-months-of-open-community-groups-asf52zhbs) · CNCF · 0 upvotes · 0 comments
- [CNCF Unveils Schedule for KubeCon \+ CloudNativeCon Europe 2026](https://daily.dev/posts/cncf-unveils-schedule-for-kubecon-cloudnativecon-europe-2026-ikhcoa5cb) · CNCF · 2 upvotes · 0 comments
- [CNCF Debuts KubeCon \+ CloudNativeCon Japan 2026 Schedule](https://daily.dev/posts/cncf-debuts-kubecon-cloudnativecon-japan-2026-schedule-xp5pyudub) · CNCF · 1 upvotes · 0 comments

---

Tags: [#react](https://daily.dev/tags/react)

[View this post on daily.dev](https://daily.dev/posts/a-better-way-to-structure-react-projects-ph71x6xft)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"A Better Way to Structure React Projects","url":"https://daily.dev/posts/a-better-way-to-structure-react-projects-ph71x6xft","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/a-better-way-to-structure-react-projects-ph71x6xft"},"datePublished":"2021-02-02T22:56:09.177Z","dateModified":"2021-10-07T14:17:10.317Z","description":"Akash Joshi: A Better Way to Structure React Projects would be better than the way we do it now. Joshi is the co-founder of React and co-creator of the popular...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/1917850f9ae36ab077b264c9c409b8f6","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/1917850f9ae36ab077b264c9c409b8f6","isAccessibleForFree":true,"articleSection":"freeCodeCamp","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Person","name":"Akash Joshi","url":"https://daily.dev/thewritingdev","image":"https://avatars.githubusercontent.com/u/22196279?v=4","interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"EndorseAction"},"userInteractionCount":180}},"commentCount":8,"discussionUrl":"https://daily.dev/posts/a-better-way-to-structure-react-projects-ph71x6xft","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":75},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":8}],"keywords":"react","timeRequired":"PT6M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"freeCodeCamp","item":"https://daily.dev/sources/freecodecamp"},{"@type":"ListItem","position":3,"name":"A Better Way to Structure React Projects"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/a-better-way-to-structure-react-projects-ph71x6xft","comment":[{"@type":"Comment","text":"it was awesome","datePublished":"2021-02-03T05:24:53.583Z","url":"https://daily.dev/posts/Ph71x6XFT#c-KvSKzEw4t","author":{"@type":"Person","name":"Ashwin Raikar","url":"https://daily.dev/ashwin_raikar88","image":"https://avatars.githubusercontent.com/u/38876900?v=4"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":3}},{"@type":"Comment","text":"Great article. It was well explained. But as Axel said: An example repo would be quite interesting.","datePublished":"2021-02-03T07:31:26.026Z","url":"https://daily.dev/posts/Ph71x6XFT#c-fOgx89xbZ","author":{"@type":"Person","name":"Alex Böhm","url":"https://daily.dev/mheob","image":"https://avatars3.githubusercontent.com/u/3983539?v=4"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":3}},{"@type":"Comment","text":"Good read but an example repo showing the ideas would speaks volumes more.","datePublished":"2021-02-03T06:58:26.011Z","url":"https://daily.dev/posts/Ph71x6XFT#c-YQ1P4mOiD","author":{"@type":"Person","name":"Axel Möllerberg","url":"https://daily.dev/axelerated","image":"https://avatars3.githubusercontent.com/u/343422?v=4"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":3}},{"@type":"Comment","text":"Nice article.\nIn IMO when you’re working in a team with a big code base, the better approach is to combine all the parts of a module under the same folder. for example, If you have a Page1 module, you should create all the folders related to Page1 under the same folder. All the technical services (adapters for example) can be outside, I like to call this folder stdlib/ and put inside all the services required for the whole application.\nModule structure example:\nPage1\n| - Components\n     | - Component1\n          | - index.tsx\n          | - style.scss\n     | - Component2\n| - Hooks\n| - Context\n| - View\n     | - index.tsx\n     | - style.scss\nThis way, it’s easy to find your way in a very big project, also, it’s easy to break part of your application into separate NPM modules or create a micro-forntend.","datePublished":"2021-02-03T07:46:35.527Z","url":"https://daily.dev/posts/Ph71x6XFT#c-g5-d4R91c","author":{"@type":"Person","name":"Udi Talias","url":"https://daily.dev/udi","image":"https://avatars3.githubusercontent.com/u/1160107?v=4"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":3}},{"@type":"Comment","text":"If you are heavy on heavily structuring your React app, then this will be handy specially for production or large scale apps. Won’t recommend for beginners though.","datePublished":"2021-02-03T06:26:24.509Z","url":"https://daily.dev/posts/Ph71x6XFT#c-r4DDYqaDn","author":{"@type":"Person","name":"Deleted user","url":"https://daily.dev/ghost","image":"https://media.daily.dev/image/upload/s--hNIUzLiO--/f_auto/v1705327420/public/ghost_vlftth"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":3}}]}
```

