Skip to content

Expo, Expo Router and React Native Paper starter template

License

Notifications You must be signed in to change notification settings

youzarsiph/expo-react-native-paper

Repository files navigation

Expo React Native Paper

EAS Build EAS Review EAS Update CodeQL ESLint Prettier

Overview

The expo-react-native-paper repository provides a robust boilerplate for developing React Native applications using Expo. It seamlessly integrates core components such as Expo Router for navigation, React Native Paper for UI design, and GitHub Actions for continuous integration and deployment, ensuring high standards of code quality and maintainability.

Key Features

  • Expo Framework: Streamlines the development process with its managed workflow.
  • Expo Router: Simplifies routing and navigation with minimal configuration.
  • Material Design V3: Adapts the latest Material Design principles for a modern user experience.
  • Themable UI: Offers customizable light and dark themes.
  • Cross-Platform Compatibility: Operates seamlessly on Web, iOS, and Android.
  • Bi-directional Layout Support: Supports Left-to-Right (LTR) and Right-to-Left (RTL) layouts.
  • Internationalization (i18n): Supports multiple languages, including Arabic, English, and Turkish.
  • CI/CD Integration: Employs GitHub Actions for automated builds, code reviews, and deployments.

Supported Platforms

  • Web
  • iOS
  • Android

Screenshots

Below are screenshots showcasing various screens of the application:

  • Home Screen (Tabs)

    Home Screen (Tabs)

  • Profile Screen (Tabs)

    Profile Screen (Tabs)

  • Settings Screen (Tabs)

    Settings Screen (Tabs)

  • Modal Screen (Stack)

    Modal Screen (Stack)

  • Search Screen (Stack)

    Search Screen (Stack)

  • Login Screen (Stack)

    Login Screen (Stack)

  • Signup Screen (Stack)

    Signup Screen (Stack)

  • Home Screen (Drawer)

    Home Screen (Drawer)

  • Profile Screen (Drawer)

    Profile Screen (Drawer)

  • Settings Screen (Drawer)

    Settings Screen (Drawer)

Getting Started

Prerequisites

Ensure the following are installed on your system:

Installation

  1. Clone the Repository

    git clone https://github.com/youzarsiph/expo-react-native-paper.git
    cd expo-react-native-paper
  2. Customize the Project

    Open the package.json file to update the application name:

    {
      "name": "your-app-name",
      ...
    }
  3. Install Dependencies

    npm install
  4. Run the Application

    npm start

Built With

  • TypeScript - For type-safe JavaScript development.
  • React - A JavaScript library for building user interfaces.
  • React Native - A framework for creating native applications.
  • Expo - A platform for universal React applications.
  • Expo Router - A flexible and efficient routing solution for React Native.
  • React Native Paper - A component library implementing Material Design.

Contributing

We welcome contributions that enhance the quality and functionality of this project. To contribute, follow these steps:

  1. Fork the Repository

    Fork the expo-react-native-paper repository on GitHub and clone your fork to your local machine.

  2. Create a New Branch

    Create a new branch for your feature or fix:

    git checkout -b feature/AmazingFeature
  3. Commit Your Changes

    Make your changes and commit them with a descriptive message:

    git commit -m 'Add some AmazingFeature'
  4. Push to the Branch

    Push your changes to your fork on GitHub:

    git push origin feature/AmazingFeature
  5. Open a Pull Request

    Open a pull request in the original repository with a description of your changes.

Your contributions are integral to the ongoing evolution of this project.

Code Quality

We enforce high code quality through automated checks:

  • CodeQL: Security scans for identifying vulnerabilities.
  • ESLint: JavaScript linting to maintain code consistency.
  • Prettier: Code formatting to ensure uniformity.

License

This project is licensed under the MIT License. For more information, see the LICENSE file.

Related Projects

  • expo-material: Enhances Expo's default setup with Material Design elements.
  • expo-material-tabs: Expands the expo-material template with tab navigation.
  • expo-material-drawer: Integrates a side drawer navigation system into the expo-material template.
  • expo-drive: A template replicating the Google Drive user interface, providing a familiar and intuitive design.

Acknowledgments

We extend our gratitude to the developers and maintainers of the following open-source libraries and tools:

About

Expo, Expo Router and React Native Paper starter template

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published