Mobile Application Scaffold (Issue #12) #13
31
.eslintrc.json
Normal file
@ -0,0 +1,31 @@
|
||||
{
|
||||
"extends": [
|
||||
"eslint:recommended",
|
||||
"plugin:react/recommended",
|
||||
"plugin:react-native/all",
|
||||
"plugin:prettier/recommended"
|
||||
],
|
||||
"parserOptions": {
|
||||
"ecmaVersion": 2020,
|
||||
"sourceType": "module"
|
||||
},
|
||||
"env": {
|
||||
"es6": true,
|
||||
"node": true,
|
||||
"browser": true
|
||||
},
|
||||
"plugins": [
|
||||
"react",
|
||||
"react-native",
|
||||
"prettier"
|
||||
],
|
||||
"rules": {
|
||||
"prettier/prettier": "error",
|
||||
"react/prop-types": "off"
|
||||
},
|
||||
"settings": {
|
||||
"react": {
|
||||
"version": "detect"
|
||||
}
|
||||
}
|
||||
}
|
38
.gitignore
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
# Learn more https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files
|
||||
|
||||
# dependencies
|
||||
node_modules/
|
||||
|
||||
# Expo
|
||||
.expo/
|
||||
dist/
|
||||
web-build/
|
||||
expo-env.d.ts
|
||||
|
||||
# Native
|
||||
*.orig.*
|
||||
*.jks
|
||||
*.p8
|
||||
*.p12
|
||||
*.key
|
||||
*.mobileprovision
|
||||
|
||||
# Metro
|
||||
.metro-health-check*
|
||||
|
||||
# debug
|
||||
npm-debug.*
|
||||
yarn-debug.*
|
||||
yarn-error.*
|
||||
|
||||
# macOS
|
||||
.DS_Store
|
||||
*.pem
|
||||
|
||||
# local env files
|
||||
.env*.local
|
||||
|
||||
# typescript
|
||||
*.tsbuildinfo
|
||||
|
||||
app-example
|
7
.prettierrc
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"singleQuote": false,
|
||||
"trailingComma": "es5",
|
||||
"arrowParens": "always",
|
||||
"semi": true,
|
||||
"printWidth": 80
|
||||
}
|
8
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"editor.formatOnSave": true,
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.fixAll.eslint": "explicit",
|
||||
"source.fixAll.ts": "explicit"
|
||||
}
|
||||
}
|
49
README.md
@ -1,9 +1,50 @@
|
||||
|
||||
# Poker Chips Helper
|
||||
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
A mobile application to assist a poker host with determining the denominations and distributions of poker chips.
|
||||
|
||||
This applications uses the React Native + Expo framework and by extension is primarily implemented in typescript. These frameworks were chosen for their solid reputation, and ability to easily compile to both major platforms (iOS + Android) with a single code base. Typescript is the default language for new projects with these frameworks, but is also preferred over the javascript alternative as strong typings are very helpful to the developer experience.
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
This applications uses the React Native + Expo framework and by extension is primarily implemented in typescript. These frameworks were chosen for their solid reputation, and ability to easily compile to both major platforms (iOS + Android) with a single code base. Typescript is the default language for new projects with these frameworks, but is also preferred over the javascript alternative as strong typings are very helpful to the developer experience.
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
|
||||
## Team Members
|
||||
* David Westgate
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
* Lakshmi Vyshnavi Vutukuri
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
* Mantasha Noyela
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
- David Westgate
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
- Lakshmi Vyshnavi Vutukuri
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
- Mantasha Noyela
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
## Building, Running, and Developer Resources
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
This is an [Expo](https://expo.dev) project created with [`create-expo-app`](https://www.npmjs.com/package/create-expo-app).
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
### VSCode plugins
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
- [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
- [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
### Get started
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
1. Install dependencies
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
```bash
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
npm install
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
```
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
2. Start the app
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
```bash
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
npx expo start
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
```
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
In the output, you'll find options to open the app in a
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
- [development build](https://docs.expo.dev/develop/development-builds/introduction/)
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
- [Android emulator](https://docs.expo.dev/workflow/android-studio-emulator/)
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
- [iOS simulator](https://docs.expo.dev/workflow/ios-simulator/)
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
- [Expo Go](https://expo.dev/go), a limited sandbox for trying out app development with Expo
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
You can start developing by editing the files inside the **app** directory. This project uses [file-based routing](https://docs.expo.dev/router/introduction).
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
### Learn more
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
To learn more about developing your project with Expo, look at the following resources:
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
- [Expo documentation](https://docs.expo.dev/): Learn fundamentals, or go into advanced topics with our [guides](https://docs.expo.dev/guides).
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
- [Learn Expo tutorial](https://docs.expo.dev/tutorial/introduction/): Follow a step-by-step tutorial where you'll create a project that runs on Android, iOS, and the web.
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
||||
|
||||
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
![]() Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned. Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
|
41
app.json
Normal file
@ -0,0 +1,41 @@
|
||||
{
|
||||
"expo": {
|
||||
"name": "poker-chips-helper",
|
||||
"slug": "poker-chips-helper",
|
||||
"version": "1.0.0",
|
||||
"orientation": "portrait",
|
||||
"icon": "./assets/images/icon.png",
|
||||
"scheme": "myapp",
|
||||
"userInterfaceStyle": "automatic",
|
||||
"newArchEnabled": true,
|
||||
"ios": {
|
||||
"supportsTablet": true
|
||||
},
|
||||
"android": {
|
||||
"adaptiveIcon": {
|
||||
"foregroundImage": "./assets/images/adaptive-icon.png",
|
||||
"backgroundColor": "#ffffff"
|
||||
}
|
||||
},
|
||||
"web": {
|
||||
"bundler": "metro",
|
||||
"output": "static",
|
||||
"favicon": "./assets/images/favicon.png"
|
||||
},
|
||||
"plugins": [
|
||||
"expo-router",
|
||||
[
|
||||
"expo-splash-screen",
|
||||
{
|
||||
"image": "./assets/images/splash-icon.png",
|
||||
"imageWidth": 200,
|
||||
"resizeMode": "contain",
|
||||
"backgroundColor": "#ffffff"
|
||||
}
|
||||
]
|
||||
],
|
||||
"experiments": {
|
||||
"typedRoutes": true
|
||||
}
|
||||
}
|
||||
}
|
5
app/_layout.tsx
Normal file
@ -0,0 +1,5 @@
|
||||
import { Stack } from "expo-router";
|
||||
|
||||
export default function RootLayout() {
|
||||
return <Stack />;
|
||||
}
|
15
app/index.tsx
Normal file
@ -0,0 +1,15 @@
|
||||
![]() This file gives a good starting point for the app's main screen. This file gives a good starting point for the app's main screen.
![]() This file gives a good starting point for the app's main screen. This file gives a good starting point for the app's main screen.
|
||||
import { Text, View } from "react-native";
|
||||
![]() This file gives a good starting point for the app's main screen. This file gives a good starting point for the app's main screen.
|
||||
|
||||
![]() This file gives a good starting point for the app's main screen. This file gives a good starting point for the app's main screen.
|
||||
export default function Index() {
|
||||
![]() This file gives a good starting point for the app's main screen. This file gives a good starting point for the app's main screen.
|
||||
return (
|
||||
![]() This file gives a good starting point for the app's main screen. This file gives a good starting point for the app's main screen.
|
||||
<View
|
||||
![]() This file gives a good starting point for the app's main screen. This file gives a good starting point for the app's main screen.
|
||||
style={{
|
||||
![]() This file gives a good starting point for the app's main screen. This file gives a good starting point for the app's main screen.
|
||||
flex: 1,
|
||||
![]() This file gives a good starting point for the app's main screen. This file gives a good starting point for the app's main screen.
|
||||
justifyContent: "center",
|
||||
![]() This file gives a good starting point for the app's main screen. This file gives a good starting point for the app's main screen.
|
||||
alignItems: "center",
|
||||
![]() This file gives a good starting point for the app's main screen. This file gives a good starting point for the app's main screen.
|
||||
}}
|
||||
![]() This file gives a good starting point for the app's main screen. This file gives a good starting point for the app's main screen.
|
||||
>
|
||||
![]() This file gives a good starting point for the app's main screen. This file gives a good starting point for the app's main screen.
|
||||
<Text>Edit app/index.tsx to edit this screen.</Text>
|
||||
![]() This file gives a good starting point for the app's main screen. This file gives a good starting point for the app's main screen.
|
||||
</View>
|
||||
![]() This file gives a good starting point for the app's main screen. This file gives a good starting point for the app's main screen.
|
||||
);
|
||||
![]() This file gives a good starting point for the app's main screen. This file gives a good starting point for the app's main screen.
|
||||
}
|
||||
![]() This file gives a good starting point for the app's main screen. This file gives a good starting point for the app's main screen.
|
BIN
assets/fonts/SpaceMono-Regular.ttf
Executable file
BIN
assets/images/adaptive-icon.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
assets/images/favicon.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
assets/images/icon.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
assets/images/partial-react-logo.png
Normal file
After Width: | Height: | Size: 5.0 KiB |
BIN
assets/images/react-logo.png
Normal file
After Width: | Height: | Size: 6.2 KiB |
BIN
assets/images/react-logo@2x.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
assets/images/react-logo@3x.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
assets/images/splash-icon.png
Normal file
After Width: | Height: | Size: 17 KiB |
17082
package-lock.json
generated
Normal file
60
package.json
Normal file
@ -0,0 +1,60 @@
|
||||
{
|
||||
"name": "poker-chips-helper",
|
||||
"main": "expo-router/entry",
|
||||
"version": "1.0.0",
|
||||
"scripts": {
|
||||
"start": "expo start",
|
||||
"reset-project": "node ./scripts/reset-project.js",
|
||||
"android": "expo start --android",
|
||||
"ios": "expo start --ios",
|
||||
"web": "expo start --web",
|
||||
"test": "jest --watchAll",
|
||||
"lint": "expo lint"
|
||||
},
|
||||
"jest": {
|
||||
"preset": "jest-expo"
|
||||
},
|
||||
"dependencies": {
|
||||
"@expo/vector-icons": "^14.0.2",
|
||||
"@react-navigation/bottom-tabs": "^7.2.0",
|
||||
"@react-navigation/native": "^7.0.14",
|
||||
"expo": "~52.0.31",
|
||||
"expo-blur": "~14.0.3",
|
||||
"expo-constants": "~17.0.5",
|
||||
"expo-font": "~13.0.3",
|
||||
"expo-haptics": "~14.0.1",
|
||||
"expo-linking": "~7.0.5",
|
||||
"expo-router": "~4.0.17",
|
||||
"expo-splash-screen": "~0.29.21",
|
||||
"expo-status-bar": "~2.0.1",
|
||||
"expo-symbols": "~0.2.2",
|
||||
"expo-system-ui": "~4.0.8",
|
||||
"expo-web-browser": "~14.0.2",
|
||||
"react": "18.3.1",
|
||||
"react-dom": "18.3.1",
|
||||
"react-native": "0.76.7",
|
||||
"react-native-gesture-handler": "~2.20.2",
|
||||
"react-native-reanimated": "~3.16.1",
|
||||
"react-native-safe-area-context": "4.12.0",
|
||||
"react-native-screens": "~4.4.0",
|
||||
"react-native-web": "~0.19.13",
|
||||
"react-native-webview": "13.12.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.25.2",
|
||||
"@types/jest": "^29.5.12",
|
||||
"@types/react": "~18.3.12",
|
||||
"@types/react-test-renderer": "^18.3.0",
|
||||
"eslint": "^9.20.0",
|
||||
"eslint-config-prettier": "^10.0.1",
|
||||
"eslint-plugin-prettier": "^5.2.3",
|
||||
"eslint-plugin-react": "^7.37.4",
|
||||
"eslint-plugin-react-native": "^5.0.0",
|
||||
"jest": "^29.2.1",
|
||||
"jest-expo": "~52.0.3",
|
||||
"prettier": "^3.4.2",
|
||||
"react-test-renderer": "18.3.1",
|
||||
"typescript": "^5.3.3"
|
||||
},
|
||||
"private": true
|
||||
}
|
17
tsconfig.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"extends": "expo/tsconfig.base",
|
||||
"compilerOptions": {
|
||||
"strict": true,
|
||||
"paths": {
|
||||
"@/*": [
|
||||
"./*"
|
||||
]
|
||||
}
|
||||
},
|
||||
"include": [
|
||||
"**/*.ts",
|
||||
"**/*.tsx",
|
||||
".expo/types/**/*.ts",
|
||||
"expo-env.d.ts"
|
||||
]
|
||||
}
|
Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.
Useful information about Prettier and ESLint. I’ll make sure to install these plugins as mentioned.