Skip to content

happyface-studio/happyface-apps

Repository files navigation

Expo Starter Universal with Postgres and Expo Router

An Mobile App Starter Kit powered by Expo, Supabase, NativeWind pre-designed with optimized & adjustable screens, components, and data management.

👉 demo 👈

$~$

What is Expo Starter Universal?

This kit provides a universal starter template for building mobile apps with Expo. It is designed to help developers build mobile apps faster by providing a pre-designed UI and data management.

$~$

Features

  • Universal styling with NativeWind and Tailwind CSS
  • Cross-platform support for iOS, Android, and web
  • Postgres database with Drizzle ORM and Neon for serverless database
  • Authentication with Google and Apple
  • Push notifications with Expo Push Notifications
  • In-app purchases with RevenueCat
  • Analytics with Posthog
  • Crash reporting with Sentry

Technologies Used

  • Expo 53
  • Expo Router
  • Supabase
  • Drizzle ORM
  • NativeWind
  • Tailwind CSS
  • Radix UI Components

Prerequisites

Node.js 20+

We officially support the current LTS version – 20 at the time of writing. ExpoStarter should work on versions 18, 20, and 22. If you're using one of those versions and encounter a problem, please report it!

Installing Node.js

Follow the instructions for your operating system found here: nodejs.org/en/download

pnpm 10+

We officially support pnpm version 10, but we will do our best to keep it compatible with npm and yarn.

Installing pnpm

The easiest way to install pnpm is via Node.js Corepack. Inside the folder with ExpoStarter, run these commands:

corepack enable
corepack install pnpm@latest

Alternatively, follow the instructions for your operating system found here: pnpm.io/installation

Environment variables

In order to run the project, you need to set up the following environment variables:

  • BASE_URL
  • POSTGRES_URL

For more information, see the .env.sample file.

Database

The project uses a Drizzle ORM to interact with a PostgreSQL database to store the data. You can use local or remote database.

Local Database with Docker

To use a local database, you need to install PostgreSQL and run it.

docker compose up -d

Database Migrations

To create a new migration, run the following command:

pnpm db generate
pnpm db migrate

Running on Different Platforms

iOS

Ensure you have Xcode installed. Run the app on an iOS simulator or a connected device:

pnpm ios

Android

Ensure you have Android Studio installed. Run the app on an Android emulator or a connected device:

pnpm android

Web

Run the app in a web browser:

pnpm web

Web & API Deployment

The Web App and API can be deployed to your hosting provider of choice.

We offer integrations with Vercel and Netlify to speed up the process by clicking one of the deploy buttons below. The GitHub repository and the necessary environment variables keys are pre-configured in the hosting provider space.

Vercel Netlify
Deploy with Vercel Deploy to Netlify Button
Environment variables docs Environment variables docs

Make sure to add the necessary environment variables values to the hosting provider environment variables.

About

HappyFace App Studio - Expo/React Native monorepo for multiple apps

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors