{"id":18458567,"url":"https://github.com/lingxz/draggymail","last_synced_at":"2026-05-03T20:39:47.966Z","repository":{"id":75816462,"uuid":"98059217","full_name":"lingxz/draggymail","owner":"lingxz","description":"Drag your emails around like in trello boards. Made with React, Redux, Express.","archived":false,"fork":false,"pushed_at":"2017-08-13T01:55:54.000Z","size":530,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-20T04:46:38.544Z","etag":null,"topics":["gmail","kanban","react","redux","redux-saga"],"latest_commit_sha":null,"homepage":"https://draggymail.theconfused.me","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lingxz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2017-07-22T21:38:36.000Z","updated_at":"2025-06-28T14:12:44.000Z","dependencies_parsed_at":"2023-06-07T20:00:22.449Z","dependency_job_id":null,"html_url":"https://github.com/lingxz/draggymail","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lingxz/draggymail","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lingxz%2Fdraggymail","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lingxz%2Fdraggymail/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lingxz%2Fdraggymail/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lingxz%2Fdraggymail/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lingxz","download_url":"https://codeload.github.com/lingxz/draggymail/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lingxz%2Fdraggymail/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32584646,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"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":["gmail","kanban","react","redux","redux-saga"],"created_at":"2024-11-06T08:19:07.939Z","updated_at":"2026-05-03T20:39:47.946Z","avatar_url":"https://github.com/lingxz.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# draggymail\n\nDrag your emails around like in trello boards.\n\n## Introduction\n\n### What it is\n- A kanban tool to organize your emails in Gmail\n- An alternative way to read and manage emails, tailored to my taste and preferences\n- A project for me to learn React and Redux concepts\n\n### What it isn't\n- Properly tested (yet)\n- A complete replacement for Gmail\n\n### What it does\n- Pulls your emails from the gmail api\n- Polls the Gmail API every 10 seconds for changes (might try to change this to use the google PubSub and add Socket.io)\n- Uses your current gmail labels for the boards (so even if you don't use this app anymore, your email will still be organized in the proper labels)\n- Stores the label IDs in the database\n- Stores your emails in the redux store (which is stored in browser memory)\n\n### What it does not do\n- Create app specific gmail labels for you and force you to use them (like [DragApp](https://www.dragapp.com/) does)\n- Store your emails or important information in the server (only your email address, refresh token, and a list of labels you designated as boards will be stored, for reference look in the [src/data](https://github.com/lingxz/gmail-kanban/tree/master/src/data) folder)\n- Delete any of your emails permanently (the oauth permission scope does not include that), so if something screws up there will be no irreversible damage done...\n- Do something fancy when you click archive, like put it into some app specific label (which I believe is what Sortd and DragApp does...). So when you click archive, it really is archiving, the Gmail way\n\nOther apps that do almost the same thing: (to be fair, when I thought of making this, there were only two such products that do this: Sortd and Moo.do. I didn't like how the Sortd UI looked and at that time Moo.do Gmail integration was a premium feature.)\n- [Moo.do](https://www.moo.do/)\n- [Sortd](https://www.sortd.com/)\n- [Yanado](https://yanado.com/)\n- [DragApp](https://www.dragapp.com/)\n- [GmailKanban](https://github.com/hyojin/GmailKanban)\n\n### Technologies used\n- React\n- Redux\n- Express\n- Sequelize\n- Sqlite database\n- React-dnd\n- A bunch of other libraries\n\n## Run the app\n\nThis project was built from [React Starter Kit](https://github.com/kriasoft/react-starter-kit/), so full instructions on how to run, build, and deploy can be found in their [Getting Started docs](https://github.com/kriasoft/react-starter-kit/blob/master/docs/getting-started.md).\n\nBasically, after cloning the app, you can install packages by running\n\n```yarn install```\n\nThen to run it locally in dev mode (with HMR and browsersync all loaded)\n\n```yarn start```\n\nTo run it in production mode:\n\n```yarn start -- --release```\n\nTo build:\n\n```yarn build```\n\nOr for production:\n\n```yarn build -- --release```\n\n## Todo\n- Add editor to write emails\n  - Save as draft when written halfway\n  - Load contacts for easy auto complete when typing recipients\n  - Encode and send emails with gmail api\n- Bulk actions on emails (change labels, archive, trash)\n- Implement batching for http requests (important!)\n- Implement undo\n- Keyboard shortcuts\n- Email search\n- Refactor css properly and potentially add color themes\n- UNIT TESTS\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flingxz%2Fdraggymail","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flingxz%2Fdraggymail","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flingxz%2Fdraggymail/lists"}