Git Product home page Git Product logo

daily-log's Introduction

Daily Log

A Rails, iOS, and (upcoming) Android app to track my daily habits like exercise, medication, food, and water.

Tip

Check out the app on the web at dailylog.ing or the App Store.

At its core, Daily Log is a Ruby on Rails web application. It uses Turbo Native to render web content in the mobile apps, "wrapping" the screens in native chrome. This approach unlocks native transitions between screens, native navigation buttons, and modals/sheets for data entry.

Screenshots of the Daily Log mobile app

daily-log's People

Contributors

joemasilotti avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

daily-log's Issues

Add "Recent entries" for medication, exercise, and food

The water entry screen shows a "Recent entries" quick add at the bottom. I want to add the same to the medication, exercise, and food screens.

Instead of grabbing the last 3 unique entries, these should instead grab the 3 most recent entries from the previous day that haven't already been added to the current day.

For example, for medication, if I added "Multivitamin" and "Collagen" yesterday and have already added "Multivitamin" today, then I should only see "Collagen" in the quick add section.

'nil' requires a contextual type

I'm getting 'nil' requires a contextual type error when trying to build the project. How to fix it?

Xcode 14.3.1, Swift 5.8.1

Снимок экрана 2024-03-27 в 15 45 38

fallback to local path-configuration file

I think in your blog you mentioned that it is good to fallback to a local file if the remote can not be found.

Would be great to add this as an example. Would you accept a PR if I add it?

»Recent entries" for water are NOT unique

Hi (again) 😁😇,

while working on #2 / #6 I realised that the distinct(:amount)-call in WaterEntry

scope :recent, -> { distinct(:amount).order(created_at: :desc).limit(3) }

does not actually do anything. Here's a link to the documentation: https://api.rubyonrails.org/classes/ActiveRecord/QueryMethods.html#method-i-distinct. The method signature of distinct is very misleading I think 😅.

How to reproduce

Add a couple of WaterEntry-items with the same value:

Screenshot 2023-12-21 at 13 32 59

Idea 4 a Fix

IMHO the simplest thing would be do take care of uniqueness (and sorting - #2) after loading the latest three items into the application, i.e.

scope :recent, -> { order(created_at: :desc).limit(3).to_a.uniq(&:amount_value) }

or

scope :recent, -> { order(created_at: :desc).limit(3).to_a.uniq { |wi| wi.amount.value } }

Then, #2 could be solved by appending .sort_by(:amount).

Remove binding.pry from TimeZoneValidator file

The TimeZoneValidator file contains a binding.pry statement, which is a debugging tool and shouldn't be present in the production codebase. This might cause unexpected pauses or stops in the application's execution.

Sort "Recent entries" for water

Currently the "Recent entries" for water grabs the last 3 unique amounts. But I don't know how it sorts them. I prefer to see them sorted with the lowest amount on the left and the highest on the right.

This requires a fancier query than what is being used right now.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.