Expo Supabase Starter Kit

screenshot of Expo Supabase Starter Kit
react
react-native

A Supabase starter kit for React Native (TS) with authentication ready. Add your env variables and your ready. (note: /src can be use without Expo, just one line to change in i18next)

Overview

The Expo-Supabase Starter Kit is an impressive solution for developers seeking to streamline their application development process using Expo and Supabase. It simplifies the setup, allowing you to quickly get started with essential functions integrated out-of-the-box. The template is particularly appealing for those who want to leverage the power of a backend-as-a-service while minimizing the repetitive coding usually necessary for user management and state handling.

This starter kit not only provides a solid foundation for building applications but also includes features that make it easy to customize and extend according to your needs. With its organized folder structure and use of TypeScript, you're equipped to maintain clean and efficient code as your project grows.

Features

  • Easy Setup: Get started quickly by clicking "use this template" and follow the GitHub process to initialize your project.

  • Automated User Profiles: Create a "profiles" table with a simple SQL command, ensuring that a new row is generated automatically for each user that signs up.

  • Built-in Hooks: Includes useSupabaseQuery and useSupabaseMutation hooks for handling data fetching, inserting, updating, and deleting, streamlining your code and enhancing efficiency.

  • Responsive Theming: The theme provider detects the device's color scheme (light/dark) and allows for manual theme switching through a custom hook—useTheme.

  • Current User Access: Easily access your current user's information on authenticated screens with the useCurrentUser hook, facilitating a seamless user experience.

  • Best Practices Integration: Adheres to conventions such as Conventional Commits, Changelog, and Semantic Versioning, ensuring that your project is structured and maintainable.

  • Pre-configured ESLint and Prettier: Comes with predefined settings for ESLint and Prettier to keep your code clean and consistent across the team.

  • Support for React Navigation and Environment Variables: Simplifies navigation and environment configuration with included support for React Navigation and react-native-dotenv.

react
React

React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

react-native
React Native

React Native is a framework for building mobile applications using React and JavaScript. It enables developers to write once and deploy to multiple platforms, including iOS, Android, and the web, while providing a native app-like experience to users.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

Expo

An open-source platform for making universal native apps with React. Expo runs on Android, iOS, and the web.

react-hook-form
React Hook Form

React Hook Form is a performant, flexible, and extensible form library for React with easy validation. It reduces re-renders and improves performance by using uncontrolled components and native HTML validation, making form handling simple and efficient.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.