# Work with Rell modules · A simple Chromia app with Rell and React · Learn Chromia

> Splitting your dapp into modules keeps the code organized and easier to maintain.

Source: https://chromia.com/learn/my-news-feed/module-one/project-structure/modules/

A simple Chromia app with Rell and ReactLesson 17 of 27

1. [01Building a simple Chromia app with Rell, React and FT4](https://chromia.com/learn/my-news-feed/introduction/)
2. [02Project setup complete](https://chromia.com/learn/my-news-feed/setup/)

Module 1: A Rell backend with FT accounts

1. [03Overview](https://chromia.com/learn/my-news-feed/module-one/)
2. [04Part 1: Designing the database schema](https://chromia.com/learn/my-news-feed/module-one/data-modeling/)
3. [05The data model](https://chromia.com/learn/my-news-feed/module-one/data-modeling/tables/)
4. [06Code the model in Rell](https://chromia.com/learn/my-news-feed/module-one/data-modeling/model/)
5. [07Part 2: Set up accounts](https://chromia.com/learn/my-news-feed/module-one/create-accounts/)
6. [08FT4 accounts configuration](https://chromia.com/learn/my-news-feed/module-one/create-accounts/install-configure-ft4/)
7. [09Authentication with FT4 accounts](https://chromia.com/learn/my-news-feed/module-one/create-accounts/authentication/)
8. [10Part 3: A closer look at operations and queries](https://chromia.com/learn/my-news-feed/module-one/operations-queries/)
9. [11Basic operations](https://chromia.com/learn/my-news-feed/module-one/operations-queries/basic-operations/)
10. [12Basic queries](https://chromia.com/learn/my-news-feed/module-one/operations-queries/write-queries/)
11. [13Part 4: Validating and verifying input](https://chromia.com/learn/my-news-feed/module-one/input-verification/)
12. [14Verify inputs](https://chromia.com/learn/my-news-feed/module-one/input-verification/input-verification/)
13. [15Run unit tests](https://chromia.com/learn/my-news-feed/module-one/input-verification/tests/)
14. [16Part 5: How the dapp project is organized](https://chromia.com/learn/my-news-feed/module-one/project-structure/)
15. [17Work with Rell modules](https://chromia.com/learn/my-news-feed/module-one/project-structure/modules/)
16. [18Add modules to your dapp](https://chromia.com/learn/my-news-feed/module-one/project-structure/incorporate-modules/)
17. [19Part 6: Sign up users with an EVM wallet](https://chromia.com/learn/my-news-feed/module-one/register-evm-accounts/)
18. [20Sign up accounts with EVM wallets](https://chromia.com/learn/my-news-feed/module-one/register-evm-accounts/register-evm-accounts/)
19. [21Test the registration](https://chromia.com/learn/my-news-feed/module-one/register-evm-accounts/test-registration/)

Module 2: The React project

1. [22Overview](https://chromia.com/learn/my-news-feed/module-two/)
2. [23Set up the project](https://chromia.com/learn/my-news-feed/module-two/setup/)
3. [24Project scaffold](https://chromia.com/learn/my-news-feed/module-two/scaffold/)
4. [25Connect the client](https://chromia.com/learn/my-news-feed/module-two/connecting-the-client/)
5. [26Summary and manual testing](https://chromia.com/learn/my-news-feed/module-two/summary-and-tests/)

1. [27What is next?](https://chromia.com/learn/my-news-feed/what-next/)

[Learn](https://chromia.com/learn/)[A simple Chromia app with Rell and React](https://chromia.com/learn/my-news-feed/)

17 / 27Module 1: A Rell backend with FT accountsBeginner

# Work with Rell modules

Splitting your dapp into modules keeps the code organized and easier to maintain.

Rell lets you group code into modules. To make a file a module, put the `module;` keyword on its first line. The module takes its name from the file name. The exception is a file named `module.rell`: it turns its whole folder into a module named after that folder. You can create sub-modules in two ways: add folders inside a module, or put a `module;` declaration in another file in the same folder.

Consider these two layouts:

src/main.rell

```nolines
module;
```

The file above defines a module named `main`.

src/main/module.rell

```nolines
module;
```

This layout also produces a module named `main`.

Suppose you add a second file, `src/main/bar.rell`. If it has no module declaration, it joins the `main` module automatically. If you declare it as a module instead:

src/main/bar.rell

```nolines
module;
```

Rell then creates a sub-module named `main.bar`.

Applying this pattern throughout your project gives you a modular codebase that is easier to navigate and maintain.

Written for this site from Chromia’s public course. Code samples are the course’s own.

[← Previous**Part 5: How the dapp project is organized**](https://chromia.com/learn/my-news-feed/module-one/project-structure/)[Next →**Add modules to your dapp**](https://chromia.com/learn/my-news-feed/module-one/project-structure/incorporate-modules/)
