
A basic boilerplate project containing React web & React Native apps in one codebase
The react-shared project is an innovative approach to developing both React web and React Native applications within a single codebase. This setup enables developers to efficiently share common functionality while also allowing for platform-specific customizations. With minimal configuration required, this project aims to streamline the development process for both iOS and Android applications while leveraging the strengths of React.
What makes this setup appealing is its flexibility and practicality. It uses a thoughtful file structure and smart configurations that make it easy for developers to manage and integrate both web and native components seamlessly. This project is perfect for those looking to simplify their development efforts without sacrificing the functionality of their applications.
Unified Codebase: Develop both React web and React Native applications in one project, allowing for shared functionality and consistency across platforms.
Adaptable File Structure: The file extension naming convention (.js, .web.js, .native.js) allows for easy implementation of platform-specific features while reusing code when applicable.
Simple Component Addition: New components can be added effortlessly, with a straightforward directory structure helping maintain organization within the app.
Built-in Testing Framework: Integrated support for Enzyme and Jest snapshot testing simplifies the testing process on both web and native platforms, ensuring high code quality.
Flexible Business Logic Sharing: The project facilitates the sharing of business logic across applications, making it adaptable to different state management approaches like Redux or Mobx.
Easy Environment Setup: The project instructions make it straightforward to get started, requiring just a clone and basic commands to install dependencies and run the applications.
Future Proof: The design encourages further enhancements and custom implementations by users, providing room for growth and adaptation in personal projects.

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 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.
Webpack is a popular open-source module bundler for JavaScript applications that bundles and optimizes the code and its dependencies for production-ready deployment. It can also be used to transform other types of assets such as CSS, images, and fonts.