BINGO to help you achieve your goals.
Currently only npm is supported. Node.js is required. To see if you have Node and npm installed, type the following lines in your terminal:
node -v
npm -v
This will tell you the versions of Node.js and npm your system is currently running, if they are installed. If not already installed, you can download the appropriate Node.js installer for your operating system. Make sure to download from the LTS tab, as these versions have been tested with npm.
If you install Node this way, npm will come prepackaged with it, so no separate installation is necessary.
You can download the latest production-ready release (recommended) or the latest pre-production version and unzip the files to your desired location.
If you'd prefer, you can also use git clone to install on your system:
### to install the latest stable version
git clone --branch dist https://github.com/meganrenae21/life-bingo.git
### to install the latest prerelease
git clone --branch develop https://github.com/meganrenae21/life-bingo.git
Note that if you download a prerelease, the documentation (this readme file) may not be up to date. Be sure to switch this repository branch to develop
for the most current documentation.
In the terminal, navigate to the path that has the package.json
file and start the app with:
npm start
If you are unfamiliar with how to navigate the file system via the terminal, you can refer to this quick little crash course from Codecademy.
YBS Bingo has three core data types: tasks, lists, and cards.
Each space on the bingo card is filled with a task, and tasks are entered in lists. Cards are generated from selected lists.
For example, if Carol, Kathy, and Layla wanted to make cards using separate to do lists, you could create a list for each of them, adding their to dos in their specific lists. That may end up looking like this:
Carol
Kathy
Layla
Once a list has at least 24 tasks, you can generate a bingo card using tasks in that list. In this case, you could create separate cards for Layla, Carol, and Kathy. You can also combine lists to create a card (for instance, if you wanted to create separate lists for work-related tasks and personal tasks but wanted both types of tasks on one card), as long as there are 24 tasks total on all the lists you are generating the card from.
The following sections will go into more detail about how to create and modify cards, tasks, and lists.
When you open the app, you will see a 5x5 grid, with each grid space labeled by its position (B1, B2, etc.). The Free space at the center of the grid is in a selected position. The other spaces are not selected, and while you can hover over them, you'll notice that if you click on them, nothing happens. Before you can do anything, you need to set up your card, which is done using the top menu.
Before you can add tasks to be added to the card, you need to create a list to add tasks to. You will be unable to add any tasks if you don't have a list to associate them with.
Click the "New List" button to create a new list. Give the list a descriptive title. You also have the option to add tags to your list, for further organization. This is not required.
Once you've created a list, click save. You can create as many lists as you want. When you are ready to start adding tasks, exit the New List module and click "Add Tasks" on the top menu.
This is pretty intuitive -- just select the list you'd like to add a task to, write down the task, click save, then repeat as often as you need. Remember, you'll need at least 24 tasks total to generate a card -- they don't all have to be from the same list.
If click on "View Lists", a modal will open up showing all of your lists. Click on one to view all of the tasks within that list. You can also delete tasks from here.
After you've entered your tasks, there's one more step to take before you can generate a card -- setting your active lists.
This is in the "Options" menu. You'll see a checklist of all of your lists. Check each list whose tasks you want to generate your card from. As mentioned, you'll need at least 24 tasks total between all of your active lists to create a card. Also note that if you have more than 24 tasks, not all of your tasks will appear on your card.
Once you've entered enough tasks and selected your active lists, generating your bingo card is as simple as clicking "Generate Card". Click on tasks to mark them as complete. If you accidentally click on a box, click again to unmark it.
Note: The free space at the center of the card cannot be unchecked.
You cannot retrieve your card in a future session without saving it first. Click "Save Card", which opens a modal allowing you to name your card and, if you want, add tags. When you click, this will store the card in the app's database, which is hosted locally on your machine.
As of now, you cannot save your card as a copy -- saving automatically overrides previous data on that card. This will (hopefully) be fixed in a future release.
To retrieve a card you've previously saved, click "View Cards" from the menu. This will give you a table with a list of all of your saved cards, along with their tags. Each card will let you know how many bingos you have on that card and whether or not you have a blackout (have completed every task on the card).
There are twelve possible "bingos" on each card -- one for each column, one for each row, and one for each diagonal. The total number of bingos you have is calculated upon save and then stored in the database.
A blackout occurs when you've completed every task on your card. The card remains saved in the database, and you can view all the card you've gotten a blackout on via the "View Cards" button.
Right now, the only way to delete a list is to do so manually. Lists are stored in the data/userLists.db
file. Though it is not recommended to make changes directly to this file, you can delete a list by finding and removing it from this file.
Functionality to delete a list in-app is currently on the priority list and will hopefully be added in a near-future release.
Like lists, currently the only way to delete a card is to do so manually using the data/bingoCards.db
file, and deleting the line storing the card you'd like to remove. Again, it is not recommended to change anything in the data files, so in-app functionality is being worked out and will be added in a future release.
Please use the issues tab for bug reporting. Make sure to look through current open issues to ensure you are not submitting a duplicate. Please properly label your issue with one of the following (please do not give the issue a priority label):
Since this app is currently so early in development and I'm still working out its core features, at the time the answer is no. Once I get the wheels spinning, I'd be more than happy to welcome PRs to add features and improve function. If you have a request for an enhancement at the moment, you can always submit an issue with the enhancement label.
That said, this project is open source, so feel free to clone and fork it and make it your own.
Yes, I am aware of this issue, and I am actively attempting to bring this up to date. If you happen to notice a dependency that is currently deprecated or no longer being maintained, please see the issues tab to see if there's already an issue open for it. If there isn't, please open an issue so that I can be aware.
At the moment, no. I do want to make an online version of the app happen, though. You can see where I'm at by taking a look at the Online Mode project in the Projects tab. However, I can't promise that this will be done any time soon.
No. Right now I have no plans to bring this app to mobile.
This app does not load any remote content. Instead, it works with local files stored in your computer. All data is saved on your system. During installation, all dependencies are downloaded and saved locally. Installation is the only time remote data is retrieved. Because of this, Life Bingo is naturally insulated from remote threats and is safe to use in this form. Keep in mind, though, security vulnerabilities may occur if you attempt to update the source code to interact with any remote content, including setting up a remote server to store data. There are certain configurations that need to be set before the app can be considered secure enough to load remote data. It is highly recommended that anyone wishing to make changes of this sort read Electrons security documentation.