Latest commit

History

64 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Mealy

Mealy serves as a tool to organize your weekly meals, to inspire your planning, to plan "like" you would and to deliver in-depth information about your daily dinners.

To be more precise, the tool can do the following:

  • Take data, store and organise it. The only data needed are the different meals. Eg: "Pasta" or "Pizza".
  • Automatically assigns each input the corresponding date and weekday. Eg: I type "Pizza" and it gets saved as "Pizza, Monday, 15.04.2022".
  • Shows that information in a user-friendly and oversee-able way.
  • Allows the user to change data in the past and plan way in to the future.
  • Analyses the data and returns insightful feedback to the user:
    • Shows all the different meals.
    • Shows how often they have been prepared.
    • Shows which meals the user hasn't prepared in a long time.
    • Shows whether certain meals are only cooked on certain days.
  • Allows the user to plan his weeks according to the analyses.

But why?

The inspiration behind the project comes from an old Excel file on my PC. Today it is quite a long list, which I used every week before going out tu buy groceries or each day, to see what I planned to cook that evening. Quite often I checked the file for inspiration to get some ideas, because I simply didn't know what to buy or plan for the following week. But it had a problem, it simply could only return me information, which I put in and could not plan for me.

With this project I tried to reorganize my data and my tedious process into a more user-friendly experience, advance my programming skills and hopefully create a piece of code, which can take work away from me personally.

How to use?

To use the tool you just have to start the "app.py" and access port 5001 of localhost. The complete operation takes place in the browser. The program then directly checks if a file with the correct name already exists and if not, creates it. To use the program, simply insert the desired meal at the desired date or day of the week. To do this, click on the "......." placeholder. Then a value can be entered using the keyboard and this must be confirmed by pressing the "Enter" key!

It should be noted that an active Internet connection is required to use the tool. For example, Bootstrap, Flaticons, Google Fonts and the Charts.css framework are loaded via CDN link. The following Python modules are imported for the function of the tool: Flask, DateTime, Counter, JSON, Collections and Random.

The tool allows the user to display past weeks as well as weeks in the future by means of arrow navigation and thus also to plan them. The selected period is always displayed. If the user navigates away from the current week, a button is displayed that takes him back to the current date.

Under the settings, the user will find the option to hide meals from the statistics and planning functions. Thus, it is possible to record the restaurant visit, but also to exclude it. In this way, the user keeps track of the meal, but the tool ignores this value and does not suggest going to the restaurant.

User commands

The following commands can be used in the web app. They simply have to be entered as "meals" on the planning page.

  • "r" : changes the day to a random meal
  • "f" : changes the day to a forgotten meal
  • "-" : keeps the day unplanned.

Architecture

Alt text

Current issues/Known-Bugs

  • Do not exclude all content entries with the ignore-function!!!
  • App gets funny, if there isn't enough content available for the different functions. But won’t/shouldn't crash, if you use it like a normal person would. Eg: Do not enter "-"/"r"/"f" in the forms, if the dataset is completely empty.

Possible features and improvements

  • It was planned from the beginning to include a feature that would schedule the coming weeks as I would have done as a user. Which means, the tool should have analyzed the past weeks and then planned the next week from these findings. Although I had found approaches for a solution, I decided to abandon this due to time constraints.
  • One of the most important improvements, which should and could still be done, is to adjust the structure of the data management.

Special input: affinity analysis

Since I wanted from the beginning to somehow show, if the user always eats a specific meal on a specific day, I spent quite some time thinking about a way to calculate exactly that. After some clueless googling I found on the website https://www.python-exemplarisch.ch/ some information about, affinity analysis. Now with some more precise searches I found the following pages:

Those two website include alot of background knowledge and coding examples in python.

As mentioned I was looking for a way to show if a weekday and a meal correlate. The affinity analyse is mostly used, to check if two things are often bought together. But in our context it is used to see if they simply "appear" together.

Of course, as the amount of data increases, the analysis becomes more accurate. At the moment, the "support" value is particularly important. As it shows whether, for example, "pasta" is always eaten on Mondays.

About

Mealy serves as a tool to organize your weekly meals, to inspire your planning, to plan "like" you would and to deliver in-depth information about your daily dinners.

Resources

Stars

1 star

Watchers

1 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

64 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Mealy

Mealy serves as a tool to organize your weekly meals, to inspire your planning, to plan "like" you would and to deliver in-depth information about your daily dinners.

To be more precise, the tool can do the following:

  • Take data, store and organise it. The only data needed are the different meals. Eg: "Pasta" or "Pizza".
  • Automatically assigns each input the corresponding date and weekday. Eg: I type "Pizza" and it gets saved as "Pizza, Monday, 15.04.2022".
  • Shows that information in a user-friendly and oversee-able way.
  • Allows the user to change data in the past and plan way in to the future.
  • Analyses the data and returns insightful feedback to the user:
    • Shows all the different meals.
    • Shows how often they have been prepared.
    • Shows which meals the user hasn't prepared in a long time.
    • Shows whether certain meals are only cooked on certain days.
  • Allows the user to plan his weeks according to the analyses.

But why?

The inspiration behind the project comes from an old Excel file on my PC. Today it is quite a long list, which I used every week before going out tu buy groceries or each day, to see what I planned to cook that evening. Quite often I checked the file for inspiration to get some ideas, because I simply didn't know what to buy or plan for the following week. But it had a problem, it simply could only return me information, which I put in and could not plan for me.

With this project I tried to reorganize my data and my tedious process into a more user-friendly experience, advance my programming skills and hopefully create a piece of code, which can take work away from me personally.

How to use?

To use the tool you just have to start the "app.py" and access port 5001 of localhost. The complete operation takes place in the browser. The program then directly checks if a file with the correct name already exists and if not, creates it. To use the program, simply insert the desired meal at the desired date or day of the week. To do this, click on the "......." placeholder. Then a value can be entered using the keyboard and this must be confirmed by pressing the "Enter" key!

It should be noted that an active Internet connection is required to use the tool. For example, Bootstrap, Flaticons, Google Fonts and the Charts.css framework are loaded via CDN link. The following Python modules are imported for the function of the tool: Flask, DateTime, Counter, JSON, Collections and Random.

The tool allows the user to display past weeks as well as weeks in the future by means of arrow navigation and thus also to plan them. The selected period is always displayed. If the user navigates away from the current week, a button is displayed that takes him back to the current date.

Under the settings, the user will find the option to hide meals from the statistics and planning functions. Thus, it is possible to record the restaurant visit, but also to exclude it. In this way, the user keeps track of the meal, but the tool ignores this value and does not suggest going to the restaurant.

User commands

The following commands can be used in the web app. They simply have to be entered as "meals" on the planning page.

  • "r" : changes the day to a random meal
  • "f" : changes the day to a forgotten meal
  • "-" : keeps the day unplanned.

Architecture

Alt text

Current issues/Known-Bugs

  • Do not exclude all content entries with the ignore-function!!!
  • App gets funny, if there isn't enough content available for the different functions. But won’t/shouldn't crash, if you use it like a normal person would. Eg: Do not enter "-"/"r"/"f" in the forms, if the dataset is completely empty.

Possible features and improvements

  • It was planned from the beginning to include a feature that would schedule the coming weeks as I would have done as a user. Which means, the tool should have analyzed the past weeks and then planned the next week from these findings. Although I had found approaches for a solution, I decided to abandon this due to time constraints.
  • One of the most important improvements, which should and could still be done, is to adjust the structure of the data management.

Special input: affinity analysis

Since I wanted from the beginning to somehow show, if the user always eats a specific meal on a specific day, I spent quite some time thinking about a way to calculate exactly that. After some clueless googling I found on the website https://www.python-exemplarisch.ch/ some information about, affinity analysis. Now with some more precise searches I found the following pages:

Those two website include alot of background knowledge and coding examples in python.

As mentioned I was looking for a way to show if a weekday and a meal correlate. The affinity analyse is mostly used, to check if two things are often bought together. But in our context it is used to see if they simply "appear" together.

Of course, as the amount of data increases, the analysis becomes more accurate. At the moment, the "support" value is particularly important. As it shows whether, for example, "pasta" is always eaten on Mondays.

About

Mealy serves as a tool to organize your weekly meals, to inspire your planning, to plan "like" you would and to deliver in-depth information about your daily dinners.

Resources

Stars

1 star

Watchers

1 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

64 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Mealy

Mealy serves as a tool to organize your weekly meals, to inspire your planning, to plan "like" you would and to deliver in-depth information about your daily dinners.

To be more precise, the tool can do the following:

  • Take data, store and organise it. The only data needed are the different meals. Eg: "Pasta" or "Pizza".
  • Automatically assigns each input the corresponding date and weekday. Eg: I type "Pizza" and it gets saved as "Pizza, Monday, 15.04.2022".
  • Shows that information in a user-friendly and oversee-able way.
  • Allows the user to change data in the past and plan way in to the future.
  • Analyses the data and returns insightful feedback to the user:
    • Shows all the different meals.
    • Shows how often they have been prepared.
    • Shows which meals the user hasn't prepared in a long time.
    • Shows whether certain meals are only cooked on certain days.
  • Allows the user to plan his weeks according to the analyses.

But why?

The inspiration behind the project comes from an old Excel file on my PC. Today it is quite a long list, which I used every week before going out tu buy groceries or each day, to see what I planned to cook that evening. Quite often I checked the file for inspiration to get some ideas, because I simply didn't know what to buy or plan for the following week. But it had a problem, it simply could only return me information, which I put in and could not plan for me.

With this project I tried to reorganize my data and my tedious process into a more user-friendly experience, advance my programming skills and hopefully create a piece of code, which can take work away from me personally.

How to use?

To use the tool you just have to start the "app.py" and access port 5001 of localhost. The complete operation takes place in the browser. The program then directly checks if a file with the correct name already exists and if not, creates it. To use the program, simply insert the desired meal at the desired date or day of the week. To do this, click on the "......." placeholder. Then a value can be entered using the keyboard and this must be confirmed by pressing the "Enter" key!

It should be noted that an active Internet connection is required to use the tool. For example, Bootstrap, Flaticons, Google Fonts and the Charts.css framework are loaded via CDN link. The following Python modules are imported for the function of the tool: Flask, DateTime, Counter, JSON, Collections and Random.

The tool allows the user to display past weeks as well as weeks in the future by means of arrow navigation and thus also to plan them. The selected period is always displayed. If the user navigates away from the current week, a button is displayed that takes him back to the current date.

Under the settings, the user will find the option to hide meals from the statistics and planning functions. Thus, it is possible to record the restaurant visit, but also to exclude it. In this way, the user keeps track of the meal, but the tool ignores this value and does not suggest going to the restaurant.

User commands

The following commands can be used in the web app. They simply have to be entered as "meals" on the planning page.

  • "r" : changes the day to a random meal
  • "f" : changes the day to a forgotten meal
  • "-" : keeps the day unplanned.

Architecture

Alt text

Current issues/Known-Bugs

  • Do not exclude all content entries with the ignore-function!!!
  • App gets funny, if there isn't enough content available for the different functions. But won’t/shouldn't crash, if you use it like a normal person would. Eg: Do not enter "-"/"r"/"f" in the forms, if the dataset is completely empty.

Possible features and improvements

  • It was planned from the beginning to include a feature that would schedule the coming weeks as I would have done as a user. Which means, the tool should have analyzed the past weeks and then planned the next week from these findings. Although I had found approaches for a solution, I decided to abandon this due to time constraints.
  • One of the most important improvements, which should and could still be done, is to adjust the structure of the data management.

Special input: affinity analysis

Since I wanted from the beginning to somehow show, if the user always eats a specific meal on a specific day, I spent quite some time thinking about a way to calculate exactly that. After some clueless googling I found on the website https://www.python-exemplarisch.ch/ some information about, affinity analysis. Now with some more precise searches I found the following pages:

Those two website include alot of background knowledge and coding examples in python.

As mentioned I was looking for a way to show if a weekday and a meal correlate. The affinity analyse is mostly used, to check if two things are often bought together. But in our context it is used to see if they simply "appear" together.

Of course, as the amount of data increases, the analysis becomes more accurate. At the moment, the "support" value is particularly important. As it shows whether, for example, "pasta" is always eaten on Mondays.

About

Mealy serves as a tool to organize your weekly meals, to inspire your planning, to plan "like" you would and to deliver in-depth information about your daily dinners.

Resources

Stars

1 star

Watchers

1 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

64 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Mealy

Mealy serves as a tool to organize your weekly meals, to inspire your planning, to plan "like" you would and to deliver in-depth information about your daily dinners.

To be more precise, the tool can do the following:

  • Take data, store and organise it. The only data needed are the different meals. Eg: "Pasta" or "Pizza".
  • Automatically assigns each input the corresponding date and weekday. Eg: I type "Pizza" and it gets saved as "Pizza, Monday, 15.04.2022".
  • Shows that information in a user-friendly and oversee-able way.
  • Allows the user to change data in the past and plan way in to the future.
  • Analyses the data and returns insightful feedback to the user:
    • Shows all the different meals.
    • Shows how often they have been prepared.
    • Shows which meals the user hasn't prepared in a long time.
    • Shows whether certain meals are only cooked on certain days.
  • Allows the user to plan his weeks according to the analyses.

But why?

The inspiration behind the project comes from an old Excel file on my PC. Today it is quite a long list, which I used every week before going out tu buy groceries or each day, to see what I planned to cook that evening. Quite often I checked the file for inspiration to get some ideas, because I simply didn't know what to buy or plan for the following week. But it had a problem, it simply could only return me information, which I put in and could not plan for me.

With this project I tried to reorganize my data and my tedious process into a more user-friendly experience, advance my programming skills and hopefully create a piece of code, which can take work away from me personally.

How to use?

To use the tool you just have to start the "app.py" and access port 5001 of localhost. The complete operation takes place in the browser. The program then directly checks if a file with the correct name already exists and if not, creates it. To use the program, simply insert the desired meal at the desired date or day of the week. To do this, click on the "......." placeholder. Then a value can be entered using the keyboard and this must be confirmed by pressing the "Enter" key!

It should be noted that an active Internet connection is required to use the tool. For example, Bootstrap, Flaticons, Google Fonts and the Charts.css framework are loaded via CDN link. The following Python modules are imported for the function of the tool: Flask, DateTime, Counter, JSON, Collections and Random.

The tool allows the user to display past weeks as well as weeks in the future by means of arrow navigation and thus also to plan them. The selected period is always displayed. If the user navigates away from the current week, a button is displayed that takes him back to the current date.

Under the settings, the user will find the option to hide meals from the statistics and planning functions. Thus, it is possible to record the restaurant visit, but also to exclude it. In this way, the user keeps track of the meal, but the tool ignores this value and does not suggest going to the restaurant.

User commands

The following commands can be used in the web app. They simply have to be entered as "meals" on the planning page.

  • "r" : changes the day to a random meal
  • "f" : changes the day to a forgotten meal
  • "-" : keeps the day unplanned.

Architecture

Alt text

Current issues/Known-Bugs

  • Do not exclude all content entries with the ignore-function!!!
  • App gets funny, if there isn't enough content available for the different functions. But won’t/shouldn't crash, if you use it like a normal person would. Eg: Do not enter "-"/"r"/"f" in the forms, if the dataset is completely empty.

Possible features and improvements

  • It was planned from the beginning to include a feature that would schedule the coming weeks as I would have done as a user. Which means, the tool should have analyzed the past weeks and then planned the next week from these findings. Although I had found approaches for a solution, I decided to abandon this due to time constraints.
  • One of the most important improvements, which should and could still be done, is to adjust the structure of the data management.

Special input: affinity analysis

Since I wanted from the beginning to somehow show, if the user always eats a specific meal on a specific day, I spent quite some time thinking about a way to calculate exactly that. After some clueless googling I found on the website https://www.python-exemplarisch.ch/ some information about, affinity analysis. Now with some more precise searches I found the following pages:

Those two website include alot of background knowledge and coding examples in python.

As mentioned I was looking for a way to show if a weekday and a meal correlate. The affinity analyse is mostly used, to check if two things are often bought together. But in our context it is used to see if they simply "appear" together.

Of course, as the amount of data increases, the analysis becomes more accurate. At the moment, the "support" value is particularly important. As it shows whether, for example, "pasta" is always eaten on Mondays.

About

Mealy serves as a tool to organize your weekly meals, to inspire your planning, to plan "like" you would and to deliver in-depth information about your daily dinners.

Resources

Stars

1 star

Watchers

1 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

64 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Mealy

Mealy serves as a tool to organize your weekly meals, to inspire your planning, to plan "like" you would and to deliver in-depth information about your daily dinners.

To be more precise, the tool can do the following:

  • Take data, store and organise it. The only data needed are the different meals. Eg: "Pasta" or "Pizza".
  • Automatically assigns each input the corresponding date and weekday. Eg: I type "Pizza" and it gets saved as "Pizza, Monday, 15.04.2022".
  • Shows that information in a user-friendly and oversee-able way.
  • Allows the user to change data in the past and plan way in to the future.
  • Analyses the data and returns insightful feedback to the user:
    • Shows all the different meals.
    • Shows how often they have been prepared.
    • Shows which meals the user hasn't prepared in a long time.
    • Shows whether certain meals are only cooked on certain days.
  • Allows the user to plan his weeks according to the analyses.

But why?

The inspiration behind the project comes from an old Excel file on my PC. Today it is quite a long list, which I used every week before going out tu buy groceries or each day, to see what I planned to cook that evening. Quite often I checked the file for inspiration to get some ideas, because I simply didn't know what to buy or plan for the following week. But it had a problem, it simply could only return me information, which I put in and could not plan for me.

With this project I tried to reorganize my data and my tedious process into a more user-friendly experience, advance my programming skills and hopefully create a piece of code, which can take work away from me personally.

How to use?

To use the tool you just have to start the "app.py" and access port 5001 of localhost. The complete operation takes place in the browser. The program then directly checks if a file with the correct name already exists and if not, creates it. To use the program, simply insert the desired meal at the desired date or day of the week. To do this, click on the "......." placeholder. Then a value can be entered using the keyboard and this must be confirmed by pressing the "Enter" key!

It should be noted that an active Internet connection is required to use the tool. For example, Bootstrap, Flaticons, Google Fonts and the Charts.css framework are loaded via CDN link. The following Python modules are imported for the function of the tool: Flask, DateTime, Counter, JSON, Collections and Random.

The tool allows the user to display past weeks as well as weeks in the future by means of arrow navigation and thus also to plan them. The selected period is always displayed. If the user navigates away from the current week, a button is displayed that takes him back to the current date.

Under the settings, the user will find the option to hide meals from the statistics and planning functions. Thus, it is possible to record the restaurant visit, but also to exclude it. In this way, the user keeps track of the meal, but the tool ignores this value and does not suggest going to the restaurant.

User commands

The following commands can be used in the web app. They simply have to be entered as "meals" on the planning page.

  • "r" : changes the day to a random meal
  • "f" : changes the day to a forgotten meal
  • "-" : keeps the day unplanned.

Architecture

Alt text

Current issues/Known-Bugs

  • Do not exclude all content entries with the ignore-function!!!
  • App gets funny, if there isn't enough content available for the different functions. But won’t/shouldn't crash, if you use it like a normal person would. Eg: Do not enter "-"/"r"/"f" in the forms, if the dataset is completely empty.

Possible features and improvements

  • It was planned from the beginning to include a feature that would schedule the coming weeks as I would have done as a user. Which means, the tool should have analyzed the past weeks and then planned the next week from these findings. Although I had found approaches for a solution, I decided to abandon this due to time constraints.
  • One of the most important improvements, which should and could still be done, is to adjust the structure of the data management.

Special input: affinity analysis

Since I wanted from the beginning to somehow show, if the user always eats a specific meal on a specific day, I spent quite some time thinking about a way to calculate exactly that. After some clueless googling I found on the website https://www.python-exemplarisch.ch/ some information about, affinity analysis. Now with some more precise searches I found the following pages:

Those two website include alot of background knowledge and coding examples in python.

As mentioned I was looking for a way to show if a weekday and a meal correlate. The affinity analyse is mostly used, to check if two things are often bought together. But in our context it is used to see if they simply "appear" together.

Of course, as the amount of data increases, the analysis becomes more accurate. At the moment, the "support" value is particularly important. As it shows whether, for example, "pasta" is always eaten on Mondays.

About

Mealy serves as a tool to organize your weekly meals, to inspire your planning, to plan "like" you would and to deliver in-depth information about your daily dinners.

Resources

Stars

1 star

Watchers

1 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

64 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Mealy

Mealy serves as a tool to organize your weekly meals, to inspire your planning, to plan "like" you would and to deliver in-depth information about your daily dinners.

To be more precise, the tool can do the following:

  • Take data, store and organise it. The only data needed are the different meals. Eg: "Pasta" or "Pizza".
  • Automatically assigns each input the corresponding date and weekday. Eg: I type "Pizza" and it gets saved as "Pizza, Monday, 15.04.2022".
  • Shows that information in a user-friendly and oversee-able way.
  • Allows the user to change data in the past and plan way in to the future.
  • Analyses the data and returns insightful feedback to the user:
    • Shows all the different meals.
    • Shows how often they have been prepared.
    • Shows which meals the user hasn't prepared in a long time.
    • Shows whether certain meals are only cooked on certain days.
  • Allows the user to plan his weeks according to the analyses.

But why?

The inspiration behind the project comes from an old Excel file on my PC. Today it is quite a long list, which I used every week before going out tu buy groceries or each day, to see what I planned to cook that evening. Quite often I checked the file for inspiration to get some ideas, because I simply didn't know what to buy or plan for the following week. But it had a problem, it simply could only return me information, which I put in and could not plan for me.

With this project I tried to reorganize my data and my tedious process into a more user-friendly experience, advance my programming skills and hopefully create a piece of code, which can take work away from me personally.

How to use?

To use the tool you just have to start the "app.py" and access port 5001 of localhost. The complete operation takes place in the browser. The program then directly checks if a file with the correct name already exists and if not, creates it. To use the program, simply insert the desired meal at the desired date or day of the week. To do this, click on the "......." placeholder. Then a value can be entered using the keyboard and this must be confirmed by pressing the "Enter" key!

It should be noted that an active Internet connection is required to use the tool. For example, Bootstrap, Flaticons, Google Fonts and the Charts.css framework are loaded via CDN link. The following Python modules are imported for the function of the tool: Flask, DateTime, Counter, JSON, Collections and Random.

The tool allows the user to display past weeks as well as weeks in the future by means of arrow navigation and thus also to plan them. The selected period is always displayed. If the user navigates away from the current week, a button is displayed that takes him back to the current date.

Under the settings, the user will find the option to hide meals from the statistics and planning functions. Thus, it is possible to record the restaurant visit, but also to exclude it. In this way, the user keeps track of the meal, but the tool ignores this value and does not suggest going to the restaurant.

User commands

The following commands can be used in the web app. They simply have to be entered as "meals" on the planning page.

  • "r" : changes the day to a random meal
  • "f" : changes the day to a forgotten meal
  • "-" : keeps the day unplanned.

Architecture

Alt text

Current issues/Known-Bugs

  • Do not exclude all content entries with the ignore-function!!!
  • App gets funny, if there isn't enough content available for the different functions. But won’t/shouldn't crash, if you use it like a normal person would. Eg: Do not enter "-"/"r"/"f" in the forms, if the dataset is completely empty.

Possible features and improvements

  • It was planned from the beginning to include a feature that would schedule the coming weeks as I would have done as a user. Which means, the tool should have analyzed the past weeks and then planned the next week from these findings. Although I had found approaches for a solution, I decided to abandon this due to time constraints.
  • One of the most important improvements, which should and could still be done, is to adjust the structure of the data management.

Special input: affinity analysis

Since I wanted from the beginning to somehow show, if the user always eats a specific meal on a specific day, I spent quite some time thinking about a way to calculate exactly that. After some clueless googling I found on the website https://www.python-exemplarisch.ch/ some information about, affinity analysis. Now with some more precise searches I found the following pages:

Those two website include alot of background knowledge and coding examples in python.

As mentioned I was looking for a way to show if a weekday and a meal correlate. The affinity analyse is mostly used, to check if two things are often bought together. But in our context it is used to see if they simply "appear" together.

Of course, as the amount of data increases, the analysis becomes more accurate. At the moment, the "support" value is particularly important. As it shows whether, for example, "pasta" is always eaten on Mondays.

About

Mealy serves as a tool to organize your weekly meals, to inspire your planning, to plan "like" you would and to deliver in-depth information about your daily dinners.

Resources

Stars

1 star

Watchers

1 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

64 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Mealy

Mealy serves as a tool to organize your weekly meals, to inspire your planning, to plan "like" you would and to deliver in-depth information about your daily dinners.

To be more precise, the tool can do the following:

  • Take data, store and organise it. The only data needed are the different meals. Eg: "Pasta" or "Pizza".
  • Automatically assigns each input the corresponding date and weekday. Eg: I type "Pizza" and it gets saved as "Pizza, Monday, 15.04.2022".
  • Shows that information in a user-friendly and oversee-able way.
  • Allows the user to change data in the past and plan way in to the future.
  • Analyses the data and returns insightful feedback to the user:
    • Shows all the different meals.
    • Shows how often they have been prepared.
    • Shows which meals the user hasn't prepared in a long time.
    • Shows whether certain meals are only cooked on certain days.
  • Allows the user to plan his weeks according to the analyses.

But why?

The inspiration behind the project comes from an old Excel file on my PC. Today it is quite a long list, which I used every week before going out tu buy groceries or each day, to see what I planned to cook that evening. Quite often I checked the file for inspiration to get some ideas, because I simply didn't know what to buy or plan for the following week. But it had a problem, it simply could only return me information, which I put in and could not plan for me.

With this project I tried to reorganize my data and my tedious process into a more user-friendly experience, advance my programming skills and hopefully create a piece of code, which can take work away from me personally.

How to use?

To use the tool you just have to start the "app.py" and access port 5001 of localhost. The complete operation takes place in the browser. The program then directly checks if a file with the correct name already exists and if not, creates it. To use the program, simply insert the desired meal at the desired date or day of the week. To do this, click on the "......." placeholder. Then a value can be entered using the keyboard and this must be confirmed by pressing the "Enter" key!

It should be noted that an active Internet connection is required to use the tool. For example, Bootstrap, Flaticons, Google Fonts and the Charts.css framework are loaded via CDN link. The following Python modules are imported for the function of the tool: Flask, DateTime, Counter, JSON, Collections and Random.

The tool allows the user to display past weeks as well as weeks in the future by means of arrow navigation and thus also to plan them. The selected period is always displayed. If the user navigates away from the current week, a button is displayed that takes him back to the current date.

Under the settings, the user will find the option to hide meals from the statistics and planning functions. Thus, it is possible to record the restaurant visit, but also to exclude it. In this way, the user keeps track of the meal, but the tool ignores this value and does not suggest going to the restaurant.

User commands

The following commands can be used in the web app. They simply have to be entered as "meals" on the planning page.

  • "r" : changes the day to a random meal
  • "f" : changes the day to a forgotten meal
  • "-" : keeps the day unplanned.

Architecture

Alt text

Current issues/Known-Bugs

  • Do not exclude all content entries with the ignore-function!!!
  • App gets funny, if there isn't enough content available for the different functions. But won’t/shouldn't crash, if you use it like a normal person would. Eg: Do not enter "-"/"r"/"f" in the forms, if the dataset is completely empty.

Possible features and improvements

  • It was planned from the beginning to include a feature that would schedule the coming weeks as I would have done as a user. Which means, the tool should have analyzed the past weeks and then planned the next week from these findings. Although I had found approaches for a solution, I decided to abandon this due to time constraints.
  • One of the most important improvements, which should and could still be done, is to adjust the structure of the data management.

Special input: affinity analysis

Since I wanted from the beginning to somehow show, if the user always eats a specific meal on a specific day, I spent quite some time thinking about a way to calculate exactly that. After some clueless googling I found on the website https://www.python-exemplarisch.ch/ some information about, affinity analysis. Now with some more precise searches I found the following pages:

Those two website include alot of background knowledge and coding examples in python.

As mentioned I was looking for a way to show if a weekday and a meal correlate. The affinity analyse is mostly used, to check if two things are often bought together. But in our context it is used to see if they simply "appear" together.

Of course, as the amount of data increases, the analysis becomes more accurate. At the moment, the "support" value is particularly important. As it shows whether, for example, "pasta" is always eaten on Mondays.

About

Mealy serves as a tool to organize your weekly meals, to inspire your planning, to plan "like" you would and to deliver in-depth information about your daily dinners.

Resources

Stars

1 star

Watchers

1 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

64 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Mealy

Mealy serves as a tool to organize your weekly meals, to inspire your planning, to plan "like" you would and to deliver in-depth information about your daily dinners.

To be more precise, the tool can do the following:

  • Take data, store and organise it. The only data needed are the different meals. Eg: "Pasta" or "Pizza".
  • Automatically assigns each input the corresponding date and weekday. Eg: I type "Pizza" and it gets saved as "Pizza, Monday, 15.04.2022".
  • Shows that information in a user-friendly and oversee-able way.
  • Allows the user to change data in the past and plan way in to the future.
  • Analyses the data and returns insightful feedback to the user:
    • Shows all the different meals.
    • Shows how often they have been prepared.
    • Shows which meals the user hasn't prepared in a long time.
    • Shows whether certain meals are only cooked on certain days.
  • Allows the user to plan his weeks according to the analyses.

But why?

The inspiration behind the project comes from an old Excel file on my PC. Today it is quite a long list, which I used every week before going out tu buy groceries or each day, to see what I planned to cook that evening. Quite often I checked the file for inspiration to get some ideas, because I simply didn't know what to buy or plan for the following week. But it had a problem, it simply could only return me information, which I put in and could not plan for me.

With this project I tried to reorganize my data and my tedious process into a more user-friendly experience, advance my programming skills and hopefully create a piece of code, which can take work away from me personally.

How to use?

To use the tool you just have to start the "app.py" and access port 5001 of localhost. The complete operation takes place in the browser. The program then directly checks if a file with the correct name already exists and if not, creates it. To use the program, simply insert the desired meal at the desired date or day of the week. To do this, click on the "......." placeholder. Then a value can be entered using the keyboard and this must be confirmed by pressing the "Enter" key!

It should be noted that an active Internet connection is required to use the tool. For example, Bootstrap, Flaticons, Google Fonts and the Charts.css framework are loaded via CDN link. The following Python modules are imported for the function of the tool: Flask, DateTime, Counter, JSON, Collections and Random.

The tool allows the user to display past weeks as well as weeks in the future by means of arrow navigation and thus also to plan them. The selected period is always displayed. If the user navigates away from the current week, a button is displayed that takes him back to the current date.

Under the settings, the user will find the option to hide meals from the statistics and planning functions. Thus, it is possible to record the restaurant visit, but also to exclude it. In this way, the user keeps track of the meal, but the tool ignores this value and does not suggest going to the restaurant.

User commands

The following commands can be used in the web app. They simply have to be entered as "meals" on the planning page.

  • "r" : changes the day to a random meal
  • "f" : changes the day to a forgotten meal
  • "-" : keeps the day unplanned.

Architecture

Alt text

Current issues/Known-Bugs

  • Do not exclude all content entries with the ignore-function!!!
  • App gets funny, if there isn't enough content available for the different functions. But won’t/shouldn't crash, if you use it like a normal person would. Eg: Do not enter "-"/"r"/"f" in the forms, if the dataset is completely empty.

Possible features and improvements

  • It was planned from the beginning to include a feature that would schedule the coming weeks as I would have done as a user. Which means, the tool should have analyzed the past weeks and then planned the next week from these findings. Although I had found approaches for a solution, I decided to abandon this due to time constraints.
  • One of the most important improvements, which should and could still be done, is to adjust the structure of the data management.

Special input: affinity analysis

Since I wanted from the beginning to somehow show, if the user always eats a specific meal on a specific day, I spent quite some time thinking about a way to calculate exactly that. After some clueless googling I found on the website https://www.python-exemplarisch.ch/ some information about, affinity analysis. Now with some more precise searches I found the following pages:

Those two website include alot of background knowledge and coding examples in python.

As mentioned I was looking for a way to show if a weekday and a meal correlate. The affinity analyse is mostly used, to check if two things are often bought together. But in our context it is used to see if they simply "appear" together.

Of course, as the amount of data increases, the analysis becomes more accurate. At the moment, the "support" value is particularly important. As it shows whether, for example, "pasta" is always eaten on Mondays.

About

Mealy serves as a tool to organize your weekly meals, to inspire your planning, to plan "like" you would and to deliver in-depth information about your daily dinners.

Resources

Stars

1 star

Watchers

1 watching

Forks

Contributors

Languages