This React Native project - written in under 5 hours as a coding exercise - is a basic "help desk" / support system ticket management system mockup, displaying both the user and admin sides of the process on separate tabs.
Competencies Demonstrated:
- state-controlled form inputs
- image uploads
- file uploads
- expo file-based routing
- tab navigation
- bottom sheet modal
- native action sheet
- embedded browser
- FlatList rendering from database
- pull to refresh
- database select/insert/update with Supabase API
- dark/light mode based on device settings
- EAS build for iOS and Android
- (mailto functionality explicitly omitted from this exercise)
React Native and Expo with a Supabase back end. React Native Paper utilized for basic UI and theming.
Click above for a brief demonstration of the app functionality
NOTE: The supabase server for this project is no longer online, as the period where this exercise was being reviewed has passed and Supabase freezes databases with no activity. You may still view the video above to see full functionality.
Android users can download a standalone build of the app here: [Android Build]
Note: Your phone will likely warn you not to download unverified apps. You can either dismiss to download anyway, or view the app in Expo Go using the method below
NOTE: The standalone Android build of this project has expired. The app (minus supabase server functionality) can still be run using the instructions below.
- Clone this repository to your local machine
- In the terminal, navigate to the local repository directory and execute "
npx expo start" to start the development server and display a QR code - Download the Expo Go app from the App Store or Google Play Store
- With the Expo Go app, scan the QR code
Additional guidance can be found on the Expo Website