My App

Architecture

Folder structure and architecture of the RateAll app


Docs (Fumadocs)

The docs are written in Markdown and are rendered using the Fumadocs framework. If you need add or change something in the docs, you can do in docs/content/docs folder.


Supabase

Here we store the supabase edge functions. If you need add new functions you should use supabase cli.

Example:

supabase functions new create-user-profile

Naming convention for functions:

${actions}-${module}-${entity}

Src folder

/src folder contains modules, assets, localizations and store.

FolderDescription
appExpo Root for routing
modulesModules
localizationsLocalizations

In src/modules folder we have all the modules for the app.


Module

Each module has its own folder and contains:

  • assets - (svg, images, etc)
  • components - (components with logic)
  • hooks - (custom hooks)
  • types - (typescript types)
  • constants - (constants)
  • utils - (utility functions)
  • ui - (ui components, without business logic)
  • screens - (screens)
  • store - (store)
  • features - (features)

Usualy all slices works only inside the module and shouldn't be used in other modules.