This repository contains both a mobile iOS app (built with React Native/Expo) and a web dashboard (built with React).
apps/mobile/— The iOS/Android mobile app using Expo and React Native.apps/web/— The frontend dashboard web app using React, Vite, and modern libraries.
- Built with Expo and React Native.
- Uses
expo-routerfor navigation and routing. - Includes features like safe area handling, error boundaries, and toast notifications.
- Integrates with device features (camera, contacts, haptics, etc.) via Expo modules.
- Custom polyfills for web compatibility.
- Main entry:
App.tsx. - Assets and patches for platform-specific needs.
- Built with React and Vite.
- Uses Chakra UI for design, React Router for routing, and TanStack React Query for data fetching.
- Main page:
src/app/page.jsx— displays bookmarks and categories, with search and filtering. - Integrates with backend APIs for bookmarks and categories.
- Modern state management and UI libraries.
- Install dependencies:
cd apps/mobile && npm install - Start development:
npx expo start
- Install dependencies:
cd apps/web && npm install - Start development:
npm run dev
- Copy
.env.exampleto.envinapps/web/and fill in keys as they become available.
Required keys:
DATABASE_URL(Neon Postgres)AUTH_SECRET(for @auth/core)STRIPE_SECRET_KEY(server API key)TIKTOK_CLIENT_KEY/TIKTOK_CLIENT_SECRETENV(development | staging | production)PUBLIC_BASE_URL(used for Stripe redirect URLs)
Optional per-environment TikTok redirect URIs:
TIKTOK_REDIRECT_URI_DEVTIKTOK_REDIRECT_URI_STAGINGTIKTOK_REDIRECT_URI_PROD
Restart the dev server after changing env vars.
- See each app's
package.jsonfor available scripts.
Pull requests and issues are welcome! Please follow conventional commit messages and ensure your code is linted and tested.
See the LICENSE file for details.