Skip to content

React Native Expo app showcasing SQLite integration, database migrations, and web support with AsyncStorage and IndexedDB. Includes integration tests and a multi-platform demo (native & web)

Notifications You must be signed in to change notification settings

amarjanica/react-native-sqlite-expo-demo

Repository files navigation

React Native Expo Demo

React Native Expo app showcasing SQLite integration, database migrations, and web support with AsyncStorage and IndexedDB. Includes integration tests and a multi-platform demo (Android & web).

Chapters

1. Database migrations and integration testing

I made first version of the app to showcase how you can to database migrations and configure integration tests to be run in a Node.js environment. Read more about it in my blog post on expo sqlite migrations and integration testing or watch my YT tutorial.
Codebase

2. Web support with SQLite, AsyncStorage and IndexedDB

I've added web support to the app, so it can run on the web. You can dynamically switch between different storage types: SQLite, AsyncStorage and IndexedDB. SQLite is supported on the web via sql.js. Read more about it in my blog post on expo sqlite, indexeddb and asyncstorage on the web or watch my YT tutorial.
Codebase

3. Redux

I've integrated Redux into the app to manage global state more efficiently.

App Screenshot

App Screenshot example

Run it on Android

I've tested this demo natively on android emulator.

npm i
# runs on expo go
npm run go:android
# or run on expo dev client
npm run dev:android

Web App Screenshot

Web app Screenshot example

Run it on the web

npm i
npm run web

Tests

Tests don't need an emulator. They're just jest tests that you can run with npm test like any nodejs project.

About

React Native Expo app showcasing SQLite integration, database migrations, and web support with AsyncStorage and IndexedDB. Includes integration tests and a multi-platform demo (native & web)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published