8000 GitHub - joemackay/perdiem
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

joemackay/perdiem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to Time Scheduler 👋

This is an Expo project created with create-expo-app.

Demo video on Loom

Demo Video

Get started

  1. Install dependencies

    npm install

    Some dependencies may refuse to install. Use npx expo install package-name to select a version that works with your current Expo SDK version:

    npx expo install @react-navigation/material-top-tabs

    In case that fails. Add the --force flag to npm:

    npm install --force
  2. Start the app(using development build) and choose the platform to view it: Options are Android, iOS simulator and web.

    npx expo start

    Or

    npx expo start -c  # -c clears the cache

    In the output, you'll find options to open the app in a

    • development build
    • Android emulator
    • iOS simulator
    • Expo Go

    Enter i to select iOS simulator

    This project uses file-based routing.

  3. Run unit tests

    npm test

Run on iOS device

  1. First, generate native iOS directories using Prebuild

    npx expo prebuild
  2. When you're ready, plugin your iPhone via USB to your laptop, and run:

    npx expo run:ios --device

    This command will compile the native iOS app locally, setup CocoaPos, create a build and a connection with your IOS device.

  3. In case you run into iOS dependency issues run this command to reinstall the pos afresh

    pod install --repo-update
  4. Diagnose issues with the app

    npx expo-doctor
  5. Bundle the app for distribution/publishing For iOS

    eas build --platform ios

    For Android

    eas build --platform android --profile development

Errors

  1. If you run into this error "CommandError: No development build (com.xxx.xxx) for this project is installed. Please make and install a development build on the device first." It means the build is missing in the simulator or device. Therefore run this command

    npx expo run:ios

    It builds a custom development client and installs it into the simulator or the device

Limitations

  1. The unit tests pass except for Google Authentication, and AsyncStorage
  2. The Google Login and Push notifications only work on an actual iOS device

Notes on my approach.

  1. I opted to create simple date picker to demonstrate my skills
  2. I included many tests in the unit tests to increase the test scope
  3. I included a button to send push notifications to save you the waiting time
  4. I used Zustand with AsyncStorage simply because they are faster and less boiler plate for a small app
  5. I used Tailwind to enhance the look of the app - though it has colour limitations for iOS
  6. I used a custom button, that I use in my other projects because it looks better has more room for props
  7. Some code(like Button) is borrowed from my existing projects at the moment
  8. I opted to avoid BottomSheet due to complications with iOS versions

Learn more

To learn more about developing your project with Expo, look at the following resources:

Join the community

Join our community of developers creating universal apps.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0