{"id":20830604,"url":"https://github.com/iansedano/tracker","last_synced_at":"2026-04-01T21:00:46.777Z","repository":{"id":113700095,"uuid":"356489993","full_name":"iansedano/tracker","owner":"iansedano","description":"Track your daily activities from your phone. Free, and the data is yours only. [Apps Script web app]","archived":false,"fork":false,"pushed_at":"2021-05-15T10:28:54.000Z","size":46,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-27T23:42:54.111Z","etag":null,"topics":["tracker-application"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iansedano.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-10T06:13:48.000Z","updated_at":"2021-05-15T10:29:21.000Z","dependencies_parsed_at":"2023-04-28T01:45:55.140Z","dependency_job_id":null,"html_url":"https://github.com/iansedano/tracker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/iansedano/tracker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iansedano%2Ftracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iansedano%2Ftracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iansedano%2Ftracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iansedano%2Ftracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iansedano","download_url":"https://codeload.github.com/iansedano/tracker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iansedano%2Ftracker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31291941,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["tracker-application"],"created_at":"2024-11-17T23:25:12.344Z","updated_at":"2026-04-01T21:00:46.734Z","avatar_url":"https://github.com/iansedano.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Personal Tracking Tool\n\nThis is a tool designed to help you track things from your daily life. It gives you a very easy way to input data on a daily basis from your phone, and have it automatically update in a spreadsheet.\n\nIts very early days yet so expect things not to work at first!\n\n## Set up\n\nThere are two options for the initial cloning.\n\n1. Create an Apps Script project and manually copy all the files over one by one, making sure all the names match exactly.\n2. Use [clasp](https://github.com/google/clasp), the Apps Script Command Line tool. It may take some installation, but once its installed, you can push all the project with one command.\n\n### Using clasp to clone the project\n\nYou'll need a google account, [Node.js](https://nodejs.org/en/) and [clasp](https://github.com/google/clasp) will need to be installed on your local computer. Once intsalled be sure to login to clasp from the command line `clasp login`.\n\nGo to scripts.google.com and create a new Apps Script project. Take note of the script ID which is in the URL:\n\n\u003e https://script.google.com/home/projects/[SCRIPT_ID]/edit\n\nGo to your development directory, or the directory where the project will be. Don't create a folder for it.\n\n```bash\ngit clone git@github.com:iansedano/tracker.git\n```\n\nThat will create the folder. Go into the folder and there:\n\n```bash\nclasp clone [SCRIPT_ID]\n```\n\nThis will add a .clasp.json and an appsscript.json file. Then you can:\n\n```bash\nclasp push\n```\n\nWhich should update the Apps Script project with all the files cloned from the repo.\n\nFrom here on you can edit solely in the Apps Script project or in your local folder. Just remember when developing locally to `clasp pull` to pull any changes from the Apps Script project online, and `clasp push` to push any local changes.\n\n### Linking script with a Spreadsheet\n\nGo to Google drive and create a new spreadsheet. Take note of the id from the URL.\n\n\u003e https://docs.google.com/spreadsheets/d/[SPREADSHEET_ID]/edit#gid=0\n\nThen, in the source code, create a new file in the root folder called `config.js` or if you are in the online editor, `config.gs`, and add in one line\n\n```js\nconst SSID = \"[SPREADSHEET_ID]\"\n```\n\nChange the name of the sheet from \"Sheet1\" to \"Tracking\" - be sure its with a capital T!\n\nIf you have edited this locally, remember to:\n\n```bash\nclasp push\n```\n\n### Populating the Spreadsheet\n\nNow you can decide what to track, for instance, the initial set-up might look like this:\n\n|  | A | B | C | D | E | F | G |\n|-|-|-|-|-|-|-|-|\n| 1 | year | month | day | steps | minutes meditated | mood | push-ups |\n| 2 | index | index | index | replace | increment | average | list |\n\n(The numbers in the first column and letters in the top row are just there to show where they need to be in the spreadsheet, they should not be values!)\n\nThe first three columns should appear exactly as shown here. They are part of the indexing system to keep track of the day.\n\nThe first row is reserved for the title, and the second row is reserved for the metadata about the row. This **must** be, as of 14/05/2020, one of these types:\n\n- `index` - this is for the script and should not be used anywhere except for the first three columns, year, month and day.\n- `replace` - any new value for that day will simply be replaced.\n- `increment` - any new value will be added to the current amount. So for with \"minutes meditated\" for instance, you might do 10 minutes in the morning and 10 minutes at midday, and then the value after the second input would be 20.\n- `list` - any new value will be kept as a list. so for \"push-ups\" for instance, this allows you to keep track of sets. So you could do 10 push-ups, input, then 10 more, input and the resultant value would be `10, 10`.\n- `average` - this will keep track of the number of inputs and the average value of those inputs. For example, if you input \"mood\" in the morning as `3`, but then later in the day as `9`, the result would be `6, 2`.\n\n\n### Deploying the Web App\n\nWith all that done you should be ready to deploy the web app.\n\nIn the online Apps Script editor, after ensuring all changes have been pushed. Click the \"Deploy\" button \u003e New Deployment. Press the \"Select Type\" gear button and select \"Web app\". In the description just put \"init\" or something similar, and in the \"Execute as\" dropdown, leave it as \"Me\", and \"Who has access\" also leave it as \"Only myself\".\n\nThen press \"Deploy\" and it should prompt you to grant access, warning you that Google hasn't verified the app so you have to say you are ok with that. Then \"Allow\" the app.\n\nYou will then be given a Web app URL where your tracker app should be live!\n\nThe site is designed for mobile. It is suggested that you put a shortcut to the URL on your home screen to make it quick and easy to track things!\n\n### Things NOT to do\n\n- Do not put in any notes or data outside the main table. You can manually insert entries, but do not put notes in the rows beneath or to the right of the main table. This is because the script grabs the whole data range dynamically, and if you put some random value in cell `Z1000`, there will be bugs!\n- Do not sort the data in the main table. This is because the script uses the last row to check if there is an entry for \"today\". So if you sort your data so that \"today\" is on row 3 and the last row is row 100. The script will create another row at the bottom, so now you will have two rows for \"today\" - not good.\n- Do not change the first three columns (Year, Month, Day)\n- Do not make columns without a title or metadata row!\n\n### Things you CAN do\n\n- Add columns for categories you want to track at any time. The script analyzes the spreadsheet and creates the form based on the active columns.\n- Change the order of the columns\n\n### Things to be careful of\n\n- Watch out for Google Sheets deciding what format your data should be in when adding new lines. It may decide that you want a date, this will change the data. I.e. when you put `12/05/2020` in a cell that is formatted as a date, and then you change the value to \"number\" the value will actually be `44170`. This will cause bugs.\n\nIn the spreadsheet, to prevent Sheets from autoformatting the data (which can change the underlying value and cause bugs), press the top left \"origin\" cell (left of A, on top of 1) to select all the cells in the sheet, then go to the Menu \u003e Format \u003e Number \u003e Plain Text.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiansedano%2Ftracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiansedano%2Ftracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiansedano%2Ftracker/lists"}