commit
2293683103
@ -0,0 +1,14 @@
|
||||
node_modules/
|
||||
.expo/
|
||||
dist/
|
||||
npm-debug.*
|
||||
*.jks
|
||||
*.p8
|
||||
*.p12
|
||||
*.key
|
||||
*.mobileprovision
|
||||
*.orig.*
|
||||
web-build/
|
||||
node_modules/
|
||||
# macOS
|
||||
.DS_Store
|
@ -0,0 +1,20 @@
|
||||
import { StatusBar } from 'expo-status-bar';
|
||||
import { StyleSheet, Text, View } from 'react-native';
|
||||
|
||||
export default function App() {
|
||||
return (
|
||||
<View style={styles.container}>
|
||||
<Text>Open up App.tsx to start working on your app!</Text>
|
||||
<StatusBar style="auto" />
|
||||
</View>
|
||||
);
|
||||
}
|
||||
|
||||
const styles = StyleSheet.create({
|
||||
container: {
|
||||
flex: 1,
|
||||
backgroundColor: '#fff',
|
||||
alignItems: 'center',
|
||||
justifyContent: 'center',
|
||||
},
|
||||
});
|
@ -0,0 +1,32 @@
|
||||
# React-Native BUT2 Notation
|
||||
|
||||
Duration : 10 * 2h
|
||||
|
||||
## Documentation (4 pts)
|
||||
|
||||
* Application sketches
|
||||
|
||||
## Basics (10 pts)
|
||||
|
||||
* Navigation (2 pts)
|
||||
* Tab bottom navigation + at least one button
|
||||
* Store (2 pts)
|
||||
* Read data from redux store
|
||||
* Actions (1 pts)
|
||||
* Update data to redux store
|
||||
* Display list of items (2 pts)
|
||||
* FlatList, VirtualizedList or SectionList
|
||||
* Display image (1 pts)
|
||||
* Child props (1 pts)
|
||||
* TextInput (1 pts)
|
||||
|
||||
## Application features (6 pts)
|
||||
|
||||
* Retrieve data using the Web API (2 pts)
|
||||
* Store favorite data into phone storage (2 pts)
|
||||
* Write Tests (2 pts)
|
||||
|
||||
## Bonus (only taken into account if the basics are all mastered)
|
||||
|
||||
* Dark/Light mode switch (2pts)
|
||||
* Sexy UI (2 pts)
|
@ -0,0 +1,33 @@
|
||||
{
|
||||
"expo": {
|
||||
"name": "expo-init",
|
||||
"slug": "expo-init",
|
||||
"version": "1.0.0",
|
||||
"orientation": "portrait",
|
||||
"icon": "./assets/icon.png",
|
||||
"userInterfaceStyle": "light",
|
||||
"splash": {
|
||||
"image": "./assets/splash.png",
|
||||
"resizeMode": "contain",
|
||||
"backgroundColor": "#ffffff"
|
||||
},
|
||||
"updates": {
|
||||
"fallbackToCacheTimeout": 0
|
||||
},
|
||||
"assetBundlePatterns": [
|
||||
"**/*"
|
||||
],
|
||||
"ios": {
|
||||
"supportsTablet": true
|
||||
},
|
||||
"android": {
|
||||
"adaptiveIcon": {
|
||||
"foregroundImage": "./assets/adaptive-icon.png",
|
||||
"backgroundColor": "#FFFFFF"
|
||||
}
|
||||
},
|
||||
"web": {
|
||||
"favicon": "./assets/favicon.png"
|
||||
}
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 46 KiB |
@ -0,0 +1,6 @@
|
||||
module.exports = function(api) {
|
||||
api.cache(true);
|
||||
return {
|
||||
presets: ['babel-preset-expo'],
|
||||
};
|
||||
};
|
@ -0,0 +1,26 @@
|
||||
{
|
||||
"name": "expo-init",
|
||||
"version": "1.0.0",
|
||||
"main": "node_modules/expo/AppEntry.js",
|
||||
"scripts": {
|
||||
"start": "expo start",
|
||||
"android": "expo start --android",
|
||||
"ios": "expo start --ios",
|
||||
"web": "expo start --web"
|
||||
},
|
||||
"dependencies": {
|
||||
"expo": "~47.0.12",
|
||||
"expo-status-bar": "~1.4.2",
|
||||
"react": "18.1.0",
|
||||
"react-dom": "18.1.0",
|
||||
"react-native": "0.70.5",
|
||||
"react-native-web": "~0.18.9"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.12.9",
|
||||
"@types/react": "~18.0.14",
|
||||
"@types/react-native": "~0.70.6",
|
||||
"typescript": "^4.6.3"
|
||||
},
|
||||
"private": true
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
{
|
||||
"extends": "expo/tsconfig.base",
|
||||
"compilerOptions": {
|
||||
"strict": true
|
||||
}
|
||||
}
|
Loading…
Reference in new issue