Coder Social home page Coder Social logo

seif-abaza / myq Goto Github PK

View Code? Open in Web Editor NEW

This project forked from atomantic/myq

0.0 1.0 0.0 3.24 MB

MyQ is a Realtime Queue Management System for Life Tasks

License: ISC License

JavaScript 51.30% Shell 8.00% Dockerfile 0.71% Pug 19.40% SCSS 20.59%

myq's Introduction

MyQ

A Realtime Queue Manager

Read the STORY to get a handle on why this exists.

Why

TODO lists aren't good enough.

If 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.

This 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.

Initial napkin sketch

sketch

v0.1.0 - Alpha, in-development mode

v0.1.0

Getting Started

Without Docker (native Node.js)

clone the repo

cd app
npm run setup
npm run dev

Deployment

Currently, there is no production deployment--I'm just running/testing on localhost. However, this could run off github pages or surge.sh easily. The dockerfile/build is not currenty in use--but might be used in the near future.

Contributing

This project accepts pull requests. Make sure you run ./dev init to get doctoc and run doctoc . on your branch before making your pull-request.

Maintainer Notes

Updating the README TOC

The README.md table of contents is generated using doctoc:

doctoc README.md

User Experience Architecture

The 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!

User State/Preferences

The only login is through Google. User Preferences and state are stored in an ancient event under the MyQ calendar (once again, nothing is stored on the server). If you do not have a MyQ calendar in google, the app will create one the first time it loads.

Calendar Event Storage

There is currently only one config item stored in the google calendar event. This config persists which calendars are ignored by the queue system.

{
  ignore: [] // list of google calendar IDs to ignore
}

Server Components

In 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).

myq's People

Contributors

atomantic avatar dependabot[bot] avatar

Watchers

James Cloos avatar

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.