umnil / bci-app

BSD 2-Clause "Simplified" License
1 stars 1 forks source link

Checkpoint #1 #1

Closed kevincar closed 1 year ago

kevincar commented 1 year ago

Set up a time with Kevin to review current features and discover what should be updated / implemented. Schedule a time to meet with German(hopefully this spelling is correct) to test app functionality, get feedback, and perform un-biased user interview

kevincar commented 1 year ago

@21Bruce

I got it to build. I have a couple questions though:

  1. My understand of yarn and npm is that one is typically used rather than both. Is using both npm and yarn required or would we be able to simply migrate completely to yarn (since yarn is a facebook specific generation, and so is react, my bet is that it would naturally be more compatible anyway, but I have no idea how accurate that hunch is at all)
  2. The first step may also need to install eas-cli. Simply npm i -g eas didn't come with any executable script to run on the command line. So eas device:create wouldn't run until I got the eas-cli
  3. Two questions about Expo
    • I may need you to help walk me through the build process; e.g., is expo strictly necessary for building react-native apps? I notice that expo free accounts have 30 builds per month. Does this mean that if we want to make changes (even if they're subtle) that we're limited to developing 30 times? This could be problematic if the next person comes along trying to work with this system and needs to compile the project multiple times to get up to speed. Happy to continue using expo if it's really only needed for distributing release builds since we can be strategic with releases but constraining development is a concern, are local builds a possibility? How have you been developing? If local builds for development are possible (as opposed to cloud builds through expo), it may be good to have a separate local-development readme. Thoughts?
    • Very minor point: Would it be more practical to have a group expo account (if that's free)? I'm wondering this as setting up my expo account resulted in tracked files being edited, indicating that other developers would also overwrite dev information (e.g., in the app.json) and others.
21Bruce commented 1 year ago

@kevincar

  1. I think we can definitely migrate strictly to yarn, the only time we use npm for packages are when installing globally.
  2. I probably meant to write eas-cli, this is my bad
  3. Creating the build that runs for development counts as only one build, so we would practically not reach the 30 build limit, since each person who begins working on the app only costs one build, and taking in to account the group account idea, each new person would cost no builds.
    • The group account sounds like a good idea, I was unaware of the tracked files
    • We could swap off of expo, the only thing is I've heard that developing on the bare react native workflow can be a little more convoluted at times
kevincar commented 1 year ago

Awesome. The only constant values I see in the app.json file are the bundleIdentifier and the projectId. By using a shared group expo account that will keep the projectId untouched. Can we set the bundleIdentifer to edu.miami.umnil.bci-app? You can also create wildcard identifiers your your developer account such that edu.miami.umnil.* would suffice for all subsequent App IDs.

let's move forward with the Group expo account until we hit a wall that argues against it. If there's a way to migrate ownership (for when you leave in August), i'll let you hand group expo setup.

Once these things are established, let's make a pull request to merge react-native-develop into the develop branch

kevincar commented 1 year ago

Closing this since this was generally related to #2