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.
- 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.
- Web
- iOS
- Android
Below are screenshots showcasing various screens of the application:
-
Home Screen (Tabs)
-
Profile Screen (Tabs)
-
Settings Screen (Tabs)
-
Modal Screen (Stack)
-
Search Screen (Stack)
-
Login Screen (Stack)
-
Signup Screen (Stack)
-
Home Screen (Drawer)
-
Profile Screen (Drawer)
-
Settings Screen (Drawer)
Ensure the following are installed on your system:
-
Clone the Repository
git clone https://github.com/youzarsiph/expo-react-native-paper.git cd expo-react-native-paper
-
Customize the Project
Open the
package.json
file to update the application name:{ "name": "your-app-name", ... }
-
Install Dependencies
npm install
-
Run the Application
npm start
- 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.
We welcome contributions that enhance the quality and functionality of this project. To contribute, follow these steps:
-
Fork the Repository
Fork the
expo-react-native-paper
repository on GitHub and clone your fork to your local machine. -
Create a New Branch
Create a new branch for your feature or fix:
git checkout -b feature/AmazingFeature
-
Commit Your Changes
Make your changes and commit them with a descriptive message:
git commit -m 'Add some AmazingFeature'
-
Push to the Branch
Push your changes to your fork on GitHub:
git push origin feature/AmazingFeature
-
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.
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.
This project is licensed under the MIT License. For more information, see the LICENSE file.
- 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.
We extend our gratitude to the developers and maintainers of the following open-source libraries and tools: