Saving App settings, User Data

Topic summary

Main issue: Where to store app settings and user data in a Shopify app built with Remix.

Key recommendations:

  • Use your own database (e.g., MongoDB or MySQL) for robust, secure, and scalable storage. Implement a server API in the Remix app, and leverage the Prisma ORM included in the Shopify Remix template for database access.

Alternative discussed:

  • Storing data in Shopify metaobjects (Shopify’s custom data model) for product/customer-related info was considered. The response advises against this for large/scalable apps, citing security concerns even with private metaobjects and added complexity for analytics data.

Terminology:

  • Remix: a full‑stack web framework.
  • Prisma ORM: a toolkit to interact with databases.
  • Metaobjects: Shopify feature for custom structured data attached to store entities.

Status/outcome:

  • Clear recommendation to use a dedicated database and server API with Prisma. No confirmation from the asker; resolution not explicitly finalized.
Summarized with AI on December 29. AI used: gpt-5.

Hi,

I am new to app development.

When we develop a Shopify app, there can be information like app settings, user data, etc that needs to be stored.

What are the most common and efficient ways to store that information (if I am using remix)?

Hello @wayforward

The best way to store application settings and user data is by utilizing a database. Among the most popular choices in app development are MongoDB and MySQL, both of which offer robust capabilities. You can securely store and manage detailed data on your server using these databases.
To implement this, you should create a Server API within your Remix app. The default Shopify Remix template includes Prisma ORM, which you can leverage for communicating with the database.

2 Likes

How about using metaobjects for storing basic product/customer related data instead of a database?

Hello @wayforward

In large and scalable applications, storing user data in metaobjects is not advisable due to security concerns. Creating private metaobjects may provide some level of privacy, but storing sensitive information like user data in this manner remains a risky approach. Moreover, if you intend to provide merchants with insightful analytics data through your app, storing this data in metaobjects can introduce complexities.

To ensure scalability and enhance security in your application, it is recommended to utilize your own database infrastructure. This approach offers greater control and robustness in managing and securing user data and analytics information

  • If the solution presented meets your needs and addresses your query effectively, I encourage you to accept it as the chosen answer. This will acknowledge the support you received and aid fellow community members in identifying reliable and effective solutions for their similar concerns.
    Thank you.
1 Like