A React Native mobile application built with Expo, featuring a modern dark theme and secure authentication system.
- Secure authentication with JWT tokens
- Cross-platform support (iOS, Android, Web)
- Dark theme UI
- Secure storage handling for different platforms
- Safe area handling for modern devices
- React Native with Expo
- TypeScript
- React Navigation
- Axios for API calls
- Expo Secure Store
- AsyncStorage for web fallback
- React Native Safe Area Context
trackd-frontend/
├── app/
│ ├── context/ # Global state management
│ ├── navigation/ # Navigation configuration
│ ├── screens/ # App screens
│ └── services/ # API and storage services
├── assets/ # Images and icons
└── app.json # Expo configuration
- Install dependencies:
npm install- Start the development server:
npm start- Run on specific platforms:
npm run ios # for iOS
npm run android # for Android
npm run web # for webThe API base URL can be configured in app/services/api.ts. Currently set to:
const api = axios.create({
baseURL: 'http://192.168.1.209:8000/api', // Replace with your LAN IP
});The app implements a secure storage system that automatically uses:
- Expo SecureStore for native platforms
- AsyncStorage for web platform
- User signs in through SignOnScreen
- JWT tokens (access & refresh) are securely stored
- Tokens are automatically attached to API requests
- Sign out clears stored tokens
The app uses React Navigation's stack navigator with two main screens:
- SignOn Screen (Initial screen)
- Home Screen (Post-authentication)
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a new Pull Request
This project is private and confidential. See .gitignore for excluded files and directories.