Open IgnisDa opened 1 year ago
This would be a great idea. I would find this one very useful for my uses.
This would be great. Configurable fields (image/gallery, url, description, tags, coordinates) would be good, or just enough generic ones - is that what you meant by user configs?
One of the things I've been wanting to track for a long time is notable places visited. Add a galery, map link, tags (has bench, good for picnic), review (3/5 too overgrown), etc.
Tracking research papers, publications or website articles would be nice too.
I plan to have a google forms like builder that will allow one to create tables, add image/url/text fields and so on.
I would love to see some type of food/ snack/ grocery tracker with a "ratings" system so I could easily look of something up for when I don't remember if my girlfriend and/ or I like that flavor/ meal/ option. Would be nice
Suggestion
Food / Snack / Meal
These could either be combined or placed under something like
Food
- Snack
- Meal
Options
Some quick ideas of what it could include
Ratings
- Add ratings with Stars and details to easily see what was thought after the last time it was eaten
Info
Add information for a "food item" like nutrition info, Calories (Maybe be implemented with fitness?)
Recipe
Steps in a check list
Ingredients
Upload Photos?
Story
I'm not big into food so there are most definitly things that could be added to this that I havn't thought of but I thought of the idea while standing in the store and after realizing they were out of my favorite flavor of an item I couldn't remeber which of the other options I didn't like as to avoid accidentally getting that one. So when I got home I jumped on reddit in search of a solution and came across ryot. While not a solution for the food problem I loved the Idea of an all in one tracker so here I am adding a suggestion to the list 😁
To add on to this I decided to come up with an example tracker.yaml
for this use case. This is by no means what the final will probably look like as this example will more than likely be too specific for general use.
name: Snack Tracker
navigation:
name: Food
icon: mdi:food # This is for refrencing the 'food' icon in the Material Design Icons library similar to HASS
- tab:
name: Snacks
config: snacks.yaml
# I'm assuming itemConfig wouldnt need to have everything defined for example
# I would assume most if not all tracker items would have things like:
# Title, Description, Image, Sub heading (Movies have the category - runtime - year)
itemConfig:
# These would be used to create the tabs inside the item view and In this case I would assume there are
# both generics like: input, markdown, api, etc. As well as more specific ones like review that would have
# the logic pre-programed into it so it matches the rest of ryot.
- overview # Markdown?
- review # Implement the same review system as the other trackers for consistency
- input # A generic Input thats tab gets named Comment
name: Comment
# This is a very rough idea in my head. It would be nice to someone configure it so that the
# JSON data could be displayed maybe using HTML, or Markdown or something.
- api
endpoint: https://api.example.com/foodstuff/snack?id=generic_chips
This would obviously need some type of add button to store custom items in a database of some type. Maybe Mongo? Or some other NOSQL DB?
This looks pretty nice.
- api endpoint: https://api.example.com/foodstuff/snack?id=generic_chips
How would API integration work here?
This would obviously need some type of add button to store custom items in a database of some type. Maybe Mongo? Or some other NOSQL DB?
I think we can leverage JSON fields. No need to introduce an additional component. I want to keep Ryot as lean as possible.
How would API integration work here?
This is where things get a little fuzzy in my head. I'm trying to thing of some system that would allow users to basically display text from the respons JSON. For example if the response for the example snack api was
{
"snack": {
"name": "Chips"
"calories": 125
"sugar": "2mg"
"flavor": "BBQ"
}
}
Then the user could setup some type of config like:
- api
endpoint: https://api.example.com/foodstuff/snack?id=generic_chips
display:
- "Flavor: {snack['flavor']}"
- "Calories: {snack['calories']}"
I am not sure of the best way to use the variables inside the YAML but as an example I used { }
inside the string.
I don't think it needs to be super complicated. For Example it could look like:
This would obviously need some type of add button to store custom items in a database of some type. Maybe Mongo? Or some other NOSQL DB?
I think we can leverage JSON fields. No need to introduce an additional component. I want to keep Ryot as lean as possible.
That would definitely be better. Thats sorta on the same line I was thinking with Mongo as it uses BSON (Basically JSON) for storage.
Huh interesting. I like the idea but I think it would be pretty difficult to implement and get right.
From @mmarquezs
Basically it would be cool if there was a way to like track anything, like a generic tracker. So you define what you track, of course there wouldn't be fancy posters if is media related, or whatever but it would be super flexible. Like if I want to track Idk all the bars I went to or whatever, like a free form of kinds for tracking stuff you have done, watched, visited, etc. main idea is that if the app doesn't support something, well a suggestion can be done as this but meanwhile anybody could track anything without waiting for the suggestion to be implemented, yeah it migh not sync automatically or have the nices look, or require some manual editing but it would work. And if the API allows it maybe can be automated.
Agreed, would love to see the ability to track almost anything. Make hierarchical methods of tracking items. For example, magazines which have years/volumes, issues, etc. Have user definable fields/tags that allow for things like adding subjects, whether that issue is in the collection or not, has it been read, etc. Also, the ability to attach media to each item such as a photo or cover image.
Track Steam Games and Playtime
API Info https://steamapi.xpaw.me/ https://partner.steamgames.com/doc/webapi https://developer.valvesoftware.com/wiki/Steam_Web_API
API Endpoints Get Player Owned Games: https://api.steampowered.com/IPlayerService/GetOwnedGames/v1/ Get Game Playtime: https://api.steampowered.com/IPlayerService/GetSingleGamePlaytime/v1/ Get Recently Played Games: https://api.steampowered.com/IPlayerService/GetRecentlyPlayedGames/v1/
How about travels / visits? People could mark cities of a country as visited, or even specific locations, such as district, or pinpoint locations etc. Multiple visits could also be tracked.
Once this is implemented, you will be able to make custom schemas for tracking anything. So yeah travel locations is an excellent idea. I plan to create a separate repo for commonly used schemas.
How would API integration work here?
This is where things get a little fuzzy in my head. I'm trying to thing of some system that would allow users to basically display text from the respons JSON. For example if the response for the example snack api was
{ "snack": { "name": "Chips" "calories": 125 "sugar": "2mg" "flavor": "BBQ" } }
Then the user could setup some type of config like:
- api endpoint: https://api.example.com/foodstuff/snack?id=generic_chips display: - "Flavor: {snack['flavor']}" - "Calories: {snack['calories']}"
I am not sure of the best way to use the variables inside the YAML but as an example I used
{ }
inside the string. I don't think it needs to be super complicated. For Example it could look like:Flavor: BBQ
Calories: 125
This would obviously need some type of add button to store custom items in a database of some type. Maybe Mongo? Or some other NOSQL DB?
I think we can leverage JSON fields. No need to introduce an additional component. I want to keep Ryot as lean as possible.
That would definitely be better. Thats sorta on the same line I was thinking with Mongo as it uses BSON (Basically JSON) for storage.
Maybe look at Tandoor Recipe. https://github.com/TandoorRecipes/recipes
There is a project about importing foods and there values https://github.com/TandoorRecipes/open-tandoor-data
I would also like to see this but even just for the things that RYOT can already track. For example, I am keeping track of movies through RYOT but want to be able to tag movies with custom tags or info - such as whether I own it digitally or physically on disc. If I own it physically on disc, I want to be able to tag or tell RYOT somewhere whether the disc is a steelbook, a normal disc, a 4k disc, a criterion version, etc. From what I can see in the demo instance, I can create collections for each of these but then there's no way to see what collections a movie is part of in the movie's details. Being able to extend or modify the item templates is really what I'm looking for and that seems like it would also be extensible to being able to track anything.
such as whether I own it digitally or physically on disc
There is a "Mark as owned" button under "More actions" in the actions tab.
Not sure why the collections are not showing up in the media details. I think you should open another issue for that.
such as whether I own it digitally or physically on disc
There is a "Mark as owned" button under "More actions" in the actions tab.
I think you misunderstood me. I want to keep track of the distinction of whether I own it physically or digitally, not just whether I own it. And the collections thing was a workaround that I was using to not being able to add tags based on that ownership. As I mentioned, I would like to be able to specify what edition or variant a movie is as those would be different depending on whether it’s a physical or digital release. Right now, RYOT has no way to do that that I can see.
I agree. Can you open a separate issue for this so that we can discuss this better?
Is this moving somewhere?
It was moved to a discussion.
From a Discord conversation:
i would say if you are planning on tracking everything with Ryot, then tracking my kids time would also be nice to have.. like time spent on youtube, tiktok, playing games, been able to see all that would be nice
The idea was from Reddit.
Ryot be extended to track other types of items. For example:
I do not plan to work on this anytime soon since it would be a big undertaking, and I would like to finish the fitness tracking. But I am creating this issue to gather feedback.