Skip to content

chrisheninger/matchimals.fun

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

261 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Matchimals icon

Matchimals logo

Matchimals.fun

an animal matching puzzle card game 🦁 🃏

screenshot of matchimals.fun game

How to play

  1. 1-4 players take turns connecting the top card from the deck to the existing cards on the table.
  2. If there isn't a valid connection to be made, then the player must pass.
  3. The game ends when all the cards from the deck have been connected on the board.

About

Matchimals.fun was built as a proof-of-concept by Chris Heninger (@chrisheninger) and Hannah Heninger (@mshannahnv). The gameplay is inspired by a 1959 card game called Busy Bee. 🐝 🃏

Matchimals.fun is made for kids of all ages. It aims to provide entertainment and improve pattern recognition skills through fun visuals of animals, colors, and numbers.

This project is sponsored by iGravity Studios– a custom software shop with an emphasis on UI/UX development– based in Phoenix, Arizona. 🏜 ❤️

Want to contribute?

This game has been made open source to help others looking to learn more about JavaScript, BoardGame.io, and React-Native applications.

Find a bug or have a question? Feel free to open an issue or submit a pull request!

Development

This is an Expo app using continuous native generation — the ios/ directory is generated from app.json and not checked in. You'll need bun, Xcode, and CocoaPods installed.

  1. Fork the repo
  2. Install dependencies: bun install
  3. Build and run the app in the iOS simulator: bun run ios
  4. Or run the web version: bun run web

Deploying to TestFlight

iOS releases are built and uploaded entirely locally (no EAS subscription or fastlane required):

bun run deploy:ios

The script (scripts/deploy-ios.sh) auto-increments ios.buildNumber in app.json (and commits the bump), runs expo prebuild, archives with xcodebuild, uploads the build straight to App Store Connect, and tags the commit (ios-v<version>-<build>). It refuses to run unless you're on a clean main and the typecheck passes. App version bumps (expo.version) are still manual — edit app.json before deploying a new release.

One-time setup (credentials never leave your machine — nothing secret is committed):

  1. In App Store Connect → Users and Access → Integrations → App Store Connect API, generate a Team key with the App Manager role. Note the Key ID and Issuer ID.
  2. mkdir -p ~/.appstoreconnect/private_keys and move the downloaded AuthKey_<KEYID>.p8 there.
  3. cp .env.example .env and fill in ASC_KEY_ID and ASC_ISSUER_ID.

The web version deploys automatically via Netlify when main is pushed (bun run build:web for a local static export to dist/).

Special thanks

Nicolo Davis and collaborators for the turn-based game engine boardgame.io.

Facebook and collaborators for the wonderful libraries React and React-Native.

iGravity Studios for publishing the game to the Apple App Store and Google Play Store.

About

🦁 🃏 📱 An animal matching puzzle card game– built with turn-based game engine boardgame.io and React-Native + React-Native-Web

Topics

Resources

License

Stars

194 stars

Watchers

4 watching

Forks

Sponsor this project

 

Contributors