diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..17a524b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,40 @@
+# 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
+.kotlin/
+*.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
+.qodo
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..e2798e4
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,7 @@
+{
+ "editor.codeActionsOnSave": {
+ "source.fixAll": "explicit",
+ "source.organizeImports": "explicit",
+ "source.sortMembers": "explicit"
+ }
+}
diff --git a/app.json b/app.json
new file mode 100644
index 0000000..7114530
--- /dev/null
+++ b/app.json
@@ -0,0 +1,43 @@
+{
+ "expo": {
+ "name": "hipmi-mobile",
+ "slug": "hipmi-mobile",
+ "version": "1.0.0",
+ "orientation": "portrait",
+ "icon": "./assets/images/logo-hipmi.png",
+ "scheme": "hipmimobile",
+ "userInterfaceStyle": "automatic",
+ "newArchEnabled": true,
+ "ios": {
+ "supportsTablet": true,
+ "bundleIdentifier": "com.anonymous.hipmi-mobile"
+ },
+ "android": {
+ "adaptiveIcon": {
+ "foregroundImage": "./assets/images/adaptive-icon.png",
+ "backgroundColor": "#ffffff"
+ },
+ "edgeToEdgeEnabled": true
+ },
+ "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
+ }
+ }
+}
diff --git a/app/+not-found.tsx b/app/+not-found.tsx
new file mode 100644
index 0000000..888960b
--- /dev/null
+++ b/app/+not-found.tsx
@@ -0,0 +1,9 @@
+import { Text, View } from "react-native";
+
+export default function NotFoundScreen() {
+ return (
+
+ Not Found
+
+ )
+}
\ No newline at end of file
diff --git a/app/_layout.tsx b/app/_layout.tsx
new file mode 100644
index 0000000..d2a8b0b
--- /dev/null
+++ b/app/_layout.tsx
@@ -0,0 +1,5 @@
+import { Stack } from "expo-router";
+
+export default function RootLayout() {
+ return ;
+}
diff --git a/app/background.tsx b/app/background.tsx
new file mode 100644
index 0000000..2a42077
--- /dev/null
+++ b/app/background.tsx
@@ -0,0 +1,21 @@
+import { Text, View } from "react-native";
+import { useNavigation } from "expo-router";
+import { useEffect } from "react";
+
+export default function Background() {
+ const navigation = useNavigation();
+
+ useEffect(() => {
+ navigation.setOptions({
+ headerShown: true,
+ headerTitle: "Home",
+
+ });
+ }, [navigation]);
+
+ return (
+
+ Background
+
+ );
+}
diff --git a/app/header-button.tsx b/app/header-button.tsx
new file mode 100644
index 0000000..8e19d11
--- /dev/null
+++ b/app/header-button.tsx
@@ -0,0 +1,36 @@
+import { Stack } from "expo-router";
+import { Button, Text, Image } from "react-native";
+import { useState } from "react";
+import { styles } from "@/constants/styles";
+
+function LogoTitle(props: { children?: React.ReactNode }) {
+ return (
+
+ );
+}
+
+export default function Home() {
+ const [count, setCount] = useState(0);
+
+ return (
+ <>
+ ,
+ headerRight: () => (
+