This repo is focused on mobile app development for iOS. Although you may be able to build to Android from this repo, this ReadMe was written for iOS development.
This ReactJS app was developed in a day to test CapacitorJS. The intention was to evaluate Capactitor's ability to build to iOS, the ease of leveraging native functionality in a web-based app, and Apple's approval process for webview applications. The app was published and can be found on the iOS App Store.
- You have access to a device capable of running MacOS
- Xcode is installed
- Clone the repo
- Open Terminal
- Install all dependencies using
yarn install
- Open the project in Xcode with
yarn open
- Sync your files with Xcode with
yarn sync
- Build your code (which can then be launched in the simulator or on your physical device) with
yarn ios
To test on a physical device, plug your iOS device into your MacOS device. After running yarn ios
, select your physical device from the list of available devices. After it's finished loading, you should see your phone open the application.
I've personally found that if you have an Apple Watch connected to your phone while Xcode is building, the build will fail. I've dealt with this by simply switching my watch to airplane mode every time I want to build to my phone (which isn't ideal, but it works).
- Uses Yarn, ReactJS, Typescript & Styled Components
- All components live within the
components
folder- A component is a reusable 'piece' of the app (ex: button, video player)
- All views live within the
views
folder- A view typically denotes a page (ex: sign up, register, feed)
- Each component is within a folder with the same name (camel-case) as the component
- Each component folder contains at least three files:
- index.tsx (used to export the component/styled component)
- ComponentName.tsx (used for the actual component)
- ComponentName.Styled.tsx (used for the styled component)
- @capacitor-community/media
- Used Manuel Rodríguez's fork of the official repo to mitigate issues
- @capacitor/app-launcher
- @capacitor/camera
- @capacitor/filesystem
- @capacitor/local-notifications
- @capacitor/share
Used Heroicons for the app's icons.
This GitHub repository is provided by Jamel Hammoud under the MIT License.