{"id":17300440,"url":"https://github.com/atomantic/myq","last_synced_at":"2025-04-14T12:34:10.812Z","repository":{"id":40953593,"uuid":"96579562","full_name":"atomantic/myq","owner":"atomantic","description":"MyQ is a Realtime Queue Management System for Life Tasks","archived":false,"fork":false,"pushed_at":"2023-01-04T07:27:29.000Z","size":2743,"stargazers_count":2,"open_issues_count":23,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-28T01:50:41.671Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/atomantic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-07-07T21:58:06.000Z","updated_at":"2021-03-08T20:51:59.000Z","dependencies_parsed_at":"2023-02-02T03:16:35.358Z","dependency_job_id":null,"html_url":"https://github.com/atomantic/myq","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomantic%2Fmyq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomantic%2Fmyq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomantic%2Fmyq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomantic%2Fmyq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atomantic","download_url":"https://codeload.github.com/atomantic/myq/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248881981,"owners_count":21176950,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-10-15T11:28:25.820Z","updated_at":"2025-04-14T12:34:10.765Z","avatar_url":"https://github.com/atomantic.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MyQ\n## A Realtime Queue Manager\n\nRead the [STORY](STORY.md) to get a handle on why this exists.\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n\n\n- [Why](#why)\n  - [TODO lists aren't good enough.](#todo-lists-arent-good-enough)\n  - [Initial napkin sketch](#initial-napkin-sketch)\n  - [v0.1.0 - Alpha, in-development mode](#v010---alpha-in-development-mode)\n- [Getting Started](#getting-started)\n  - [Without Docker (native Node.js)](#without-docker-native-nodejs)\n- [Deployment](#deployment)\n- [Contributing](#contributing)\n- [Maintainer Notes](#maintainer-notes)\n  - [Updating the README TOC](#updating-the-readme-toc)\n- [User Experience Architecture](#user-experience-architecture)\n  - [User State/Preferences](#user-statepreferences)\n    - [Calendar Event Storage](#calendar-event-storage)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n# Why\n## TODO lists aren't good enough.\n\nIf you are good at a lot of things, you are never short of things to do. Managing your queue can be tricky, especially if you have to balance different projects, schedules and delivery expectations across parts of your life: family, work, self-fulfillment, friends, etc.\n\nThis application provides a task queue management system, in which a user can tag tasks/projects with difficulty rating, where it fits in a life or daily plan and whether not it will actually get done. Unlike typical TODO lists or backlog management systems where items can fester and never get done, this tool stacks tasks in a live backlog, color coding them and placing them in such a way as to alert the user and any guest viewers when/if a task will reach the \"doing it\" state.\n\n## Initial napkin sketch\n\n![sketch](https://raw.github.com/atomantic/myq/master/docs/wireframe_v1.jpg)\n\n## v0.1.0 - Alpha, in-development mode\n\n![v0.1.0](https://raw.github.com/atomantic/myq/master/docs/myq-v0.1.0.png)\n\n# Getting Started\n\n## Without Docker (native Node.js)\nclone the repo\n```\ncd app\nnpm run setup\nnpm run dev\n```\n\n# Deployment\n\nCurrently, there is no production deployment--I'm just running/testing on localhost. However, this could run off github pages or surge.sh easily.\nThe dockerfile/build is not currenty in use--but might be used in the near future.\n\n# Contributing\n\nThis project accepts pull requests.\nMake sure you run `./dev init` to get `doctoc` and run `doctoc .` on your branch before making your pull-request.\n\n# Maintainer Notes\n\n## Updating the README TOC\nThe README.md table of contents is generated using doctoc:\n\n```\ndoctoc README.md\n```\n\n# User Experience Architecture\n\nThe whole app runs using Google Calendar. You can add your Exchange Calendar as an iCal to Google Calendar to get everything in one place. The App uses oAuth App Permissions with Google to get rights to pull your calendars into the UI. Nothing is stored on the server!\n\n## User State/Preferences\n\nThe only login is through Google.\nUser Preferences and state are stored in an ancient event under the MyQ calendar (once again, nothing is stored on the server).\nIf you do not have a MyQ calendar in google, the app will create one the first time it loads.\n\n### Calendar Event Storage\nThere is currently only one config item stored in the google calendar event.\nThis config persists which calendars are ignored by the queue system.\n```\n{\n  ignore: [] // list of google calendar IDs to ignore\n}\n```\n\n### Server Components\nIn the initial experimentation phase, I had created a server-side in node, which would fetch and process iCal URLs to build the calendars. Currently, the server-side is not needed as we are only using Google Calendar (and importing non-GCal ical URLs into Google Calendar so we can use the unified Google Calendar API and UI Library).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatomantic%2Fmyq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatomantic%2Fmyq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatomantic%2Fmyq/lists"}