/ConBingo3

A bullshit-bingo to play with your weeb friends at conventions - this time in React Native

Primary LanguageTypeScriptMIT LicenseMIT

GitHub package.json version GitHub Workflow Status Website status

About

A bullshit-bingo to play with your weeb friends at conventions.

Because me and a few friends of mine always play some kind of convention bingo with a sheet we pull from google images every time in the last minute, I decided to make our lives a little easier and take the opportunity to learn something new by creating this app.

This is already the third iteration this application is going through. While the first one used only vanilla JS and SCSS, I tried to build this with Vue and Ionic, but I was so disappointed by the performance that I decided to go with a more native approach this time. Because I needed to learn React for work soon anyway, React Native was the obvious choice this time.

I switched from a bare workflow to using expo because I could not get react-native-web to work otherwise. I wanted a web version because Apple developer licenses are hilariously expensive. This way iOS users can still use this app without me having to maintain two codebases. I'm still no the greatest fan of expo itself and try to rely on their (build) tooling as little as possible.

TypeScript React Redux

Features

  • Playable out of the box with almost 50 different fields
  • Confetti 🎉
  • Light and Dark mode toggle 💡
  • Material You theme utilizing React Native Paper
  • Active sheets can be rerolled and edited freely
  • Sheets (including their progress) can be saved, loaded, imported and shared
  • You are free to edit, remove or add new fields as you see fit.
  • Persistence via Redux and AsyncStorage
  • Runs on Android and in the Web

Installation

Web

Thanks to expo and react-native-web, this project runs in the web as well: https://con.bingo

Android

Get it on Google Play

iOS

An Apple Developer License costs 100€/year, which is way too expensive for a fun little app like this. A PWA is planned as substitute once expo updates their documentation on how to build one with metro. Until then you can use the web version.

Screenshots