Tri-platform (iOS, android and web) online multiplayer game, built using React Native, Redux, Expo, Firestore and Firebase Cloud functions.
Play Tic Tac Toe cross-platform. Both online and in-person with your friends. We don't require you to create an account. Instead, we utilize anonymous lobby id's. Therefore only you and the one you're playing with online know who is playing with who.
- iOS: App Store
- Android: Google Play Store
- web (PWA): tictactoe.no
Create a Firebase project, and create a Firestore DB as well as upload the Cloud Functions found in the server folder. Then, add the google-services.json and GoogleService-Info.plist files to the root of the project.
See the env.d.ts file located in the types folder for the required environment variables. The GOOGLE_SERVICES_JSON and GOOGLE_SERVICES_PLIST variables should be the base64 encoded versions of the google-services.json and GoogleService-Info.plist files. These are only required if you want to build it with EAS.
The base64 encoded versions of the files can be generated with the following commands:
base64 -i ./google-services.json
base64 -i ./GoogleService-Info.plist
Go into the client folder:
cd client
Install dependencies with yarn:
yarn
Run on Android:
yarn android
Run on iOS:
yarn ios
Run on web:
yarn web
The app uses EAS for building the iOS and Android apps. The web app is deployed to Firebase Hosting.
You need to push the .env file contents to the EAS secrets. First make sure to have the EAS CLI installed, and all the environment variables set as described in the section above, then run:
yarn eas-push-env
Uses EAS, install the CLI first, then run:
yarn build:ios
To build locally, run:
yarn build:ios:local
Uses EAS, install the CLI first, then run:
yarn build:android
To build locally, run:
yarn build:android:local
yarn deploy:web