mirror of
https://github.com/movie-web/native-app.git
synced 2025-09-13 09:13:26 +00:00
71 lines
2.7 KiB
Markdown
71 lines
2.7 KiB
Markdown
# movie-web native-app
|
|
|
|
## About
|
|
|
|
It uses [Turborepo](https://turborepo.org) and contains:
|
|
|
|
```text
|
|
.github
|
|
└─ workflows
|
|
└─ CI with pnpm cache setup
|
|
.vscode
|
|
└─ Recommended extensions and settings for VSCode users
|
|
apps
|
|
└─ expo
|
|
├─ Expo SDK 50
|
|
├─ React Native using React 18
|
|
├─ Navigation using Expo Router
|
|
├─ Tailwind using Nativewind
|
|
└─ Typesafe API calls using tRPC
|
|
packages
|
|
├─ tmdb
|
|
└─ Typesafe API calls to The Movie Database
|
|
tooling
|
|
├─ eslint
|
|
| └─ shared, fine-grained, eslint presets
|
|
├─ prettier
|
|
| └─ shared prettier configuration
|
|
├─ tailwind
|
|
| └─ shared tailwind configuration
|
|
└─ typescript
|
|
└─ shared tsconfig you can extend from
|
|
```
|
|
|
|
### Configure Expo `dev`-script
|
|
|
|
#### Use iOS Simulator
|
|
|
|
1. Make sure you have XCode and XCommand Line Tools installed [as shown on expo docs](https://docs.expo.dev/workflow/ios-simulator).
|
|
|
|
> **NOTE:** If you just installed XCode, or if you have updated it, you need to open the simulator manually once. Run `npx expo start` in the root dir, and then enter `I` to launch Expo Go. After the manual launch, you can run `pnpm dev` in the root directory.
|
|
|
|
```diff
|
|
+ "dev": "expo start --ios",
|
|
```
|
|
|
|
2. Run `pnpm dev` at the project root folder.
|
|
|
|
#### Use Android Emulator
|
|
|
|
1. Install Android Studio tools [as shown on expo docs](https://docs.expo.dev/workflow/android-studio-emulator).
|
|
|
|
2. Change the `dev` script at `apps/expo/package.json` to open the Android emulator.
|
|
|
|
```diff
|
|
+ "dev": "expo start --android",
|
|
```
|
|
|
|
3. Run `pnpm dev` at the project root folder.
|
|
|
|
> **TIP:** It might be easier to run each app in separate terminal windows so you get the logs from each app separately. This is also required if you want your terminals to be interactive, e.g. to access the Expo QR code. You can run `pnpm --filter expo dev` and `pnpm --filter nextjs dev` to run each app in a separate terminal window.
|
|
|
|
### 3. When it's time to add a new package
|
|
|
|
To add a new package, simply run `pnpm turbo gen init` in the monorepo root. This will prompt you for a package name as well as if you want to install any dependencies to the new package (of course you can also do this yourself later).
|
|
|
|
The generator sets up the `package.json`, `tsconfig.json` and a `index.ts`, as well as configures all the necessary configurations for tooling around your package such as formatting, linting and typechecking. When the package is created, you're ready to go build out the package.
|
|
|
|
### References
|
|
|
|
This app is based on [create-t3-turbo](https://github.com/t3-oss/create-t3-turbo) and [Turborepo](https://turborepo.org).
|