Skip to content

Latest commit

 

History

History
117 lines (69 loc) · 4.49 KB

README.md

File metadata and controls

117 lines (69 loc) · 4.49 KB

Count-on-it

Table of Contents
  1. About the project
  2. Why make this
  3. General outline

About The Project

  • This app will let you count in a flexible enough way to use it for simple things like how many cups of water you've drank, to where you are in your show. It will also let you extract calculations from count history and organize your different counts into a clear view

Why make this

  • I use myanimelist to track different anime that I've watched, and wished there was a more generic version of it for all my shows. I also wish I could have a basic counter app to keep track of random things and possibly to do different analyses with the data I generate. I realized that myanimelist is largely just a list of shows that I'm pressing an incrementer on, and is no different from the kind of counter that I wanted. So I decided to make this!

Progress as of 03/21/23

Screencast.from.03-21-2023.11.44.33.PM.webm

Example of what a finished product would look like

PXL_20230315_024839697~2

General outline

Tables

Counter table

  • Going to do it all on one table. This helps alleviate the entire issue by making column names match between tables for counters so that the tables. Instead in the view I'll allow users to save the name as an alias. So you'd have a generic name column for your books, movies, shows, etc, but then when you're viewing it under a view called something like "anime", the name will appear as "Anime name" or something instead. Nothing is saved if it's not saved to a view.

Log table

  • This will just be the output of the counters. It would have the same columns, and the views would work the same

Views table

  • Most of this will just be the query that's generated and then saved by a question using a WYSIWYG editor. It will also have some properties like the ID, name, created date, etc. Would save if you're looking at log or counter view and any relevant header info like filters, columns, sort, and alias. Need to think of anything else to be included.

Link table

  • Used to link views to corresponding counters, columns, filters, user's query, etc. I need to think about if I need multiple link tables for this, or just the one. Basic example -
    SELECT Counters.*
    FROM Counters
    JOIN CountersInView ON CountersInView.CounterID = Counters.ID
    JOIN Views ON Views.ID = CountersInView.ViewID
    WHERE Views.Name = 'anime' AND Counter.Score > 8;
    

Header

  • Drop down to say if you want to look at the counters, logs, or both
  • Filters, let's you do basic filters on a row based on a column like "less than x"
  • Columns, let's you select which columns to view
  • Export, exports to csv
  • Sort, as basic as filtering
  • SQL, for the advanced

Main screen section that shows the currently toggled visible counters either -

  • As the counters themselves
  • A spreadsheet style log of counter clicks
  • Both, I imagine something how it looks with a parent and subtask in Asana, but like instead of subtasks it's the logs image

Side bar

  • "Views" which is just saved views
    • Name that's mapped to a query, used by a view component to render counters/logs and apply filters
    • Might be worth considering having nested views. So that someone could have "stories" and then "books", "TV", "Movies" under that.
  • Counters
    • This is just row on a spreadsheet looking view where each row is a counter
  • Logs
    • This is basically like Counter, but for the logs. It'll be more than one row, but it'll still be filtered down to just the logs from that counter.