{"id":19510536,"url":"https://github.com/akash-sharma-1/dashterm","last_synced_at":"2025-04-26T03:32:15.538Z","repository":{"id":60012882,"uuid":"540527470","full_name":"Akash-Sharma-1/DashTerm","owner":"Akash-Sharma-1","description":"A terminal based application (TUI) for enhancing your productive workstation 👨‍💻","archived":false,"fork":false,"pushed_at":"2023-10-29T14:56:36.000Z","size":2465,"stargazers_count":9,"open_issues_count":8,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-04T07:35:56.521Z","etag":null,"topics":["google-calendar","google-keep","google-tasks","habitica","hacktoberfest","pomodoro","productivity","python","terminal","tui"],"latest_commit_sha":null,"homepage":"","language":"Python","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/Akash-Sharma-1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-09-23T16:28:16.000Z","updated_at":"2023-12-10T07:06:41.000Z","dependencies_parsed_at":"2023-02-17T21:00:32.258Z","dependency_job_id":null,"html_url":"https://github.com/Akash-Sharma-1/DashTerm","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/Akash-Sharma-1%2FDashTerm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akash-Sharma-1%2FDashTerm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akash-Sharma-1%2FDashTerm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akash-Sharma-1%2FDashTerm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Akash-Sharma-1","download_url":"https://codeload.github.com/Akash-Sharma-1/DashTerm/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250926895,"owners_count":21509055,"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":["google-calendar","google-keep","google-tasks","habitica","hacktoberfest","pomodoro","productivity","python","terminal","tui"],"created_at":"2024-11-10T23:16:11.473Z","updated_at":"2025-04-26T03:32:14.170Z","avatar_url":"https://github.com/Akash-Sharma-1.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n   \u003cp align=\"center\"\u003e\n      \u003cb\u003eA terminal based application (TUI) for enhancing your productive workstation\u003c/b\u003e 👨‍💻...\n      \u003cp align=\"center\"\u003e\n      \u003cimg src=\"https://raw.githubusercontent.com/Akash-Sharma-1/DashTerm/main/images/Dashterm.png\" width=\"400\"\u003e\n      \u003cbr/\u003e\n      \u003ca href=\"https://github.com/Akash-Sharma-1/DashTerm/issues\"\u003eReport a Bug/Issue\u003c/a\u003e | \u003ca href=\"https://github.com/Akash-Sharma-1/DashTerm/discussions\"\u003eRequest a Feature\u003c/a\u003e | \u003ca href=\"https://github.com/users/Akash-Sharma-1/projects/1\"\u003eView Project Status\u003c/a\u003e\n        \u003cp align=\"center\"\u003e\u003cimg src=\"https://img.shields.io/badge/Tests-Passing-brightgreen\" /\u003e \u003cimg src=\"https://img.shields.io/badge/PR-Welcomed !-orange\" /\u003e  \u003cimg src=\"https://img.shields.io/badge/License-MIT-blue.svg\" /\u003e \u003cimg src=\"https://img.shields.io/badge/Maintained%3F-Yes !-violet.svg\" /\u003e\n\n   \u003c/p\u003e\n\u003c/p\u003e\n\u003c/p\u003e\n\n\n---\n- [Da⚡hTerm](#da-hterm)\n    - [What's the app actually doing ? 🤔](#whats-the-app-actually-doing--)\n    - [Why use a TUI for this? 🤔](#why-use-a-tui-for-this-)\n    - [Want to contribute ?](#want-to-contribute-)\n- [📑 Features](#-features)\n- [🕹 How to use this ?](#-how-to-use-this-)\n    - [Requirements](#requirements)\n    - [Setting up Google Cloud Client](#setting-up-google-cloud-client)\n    - [Cloning the repo](#cloning-the-repo)\n    - [Installing Dependencies](#installing-dependencies)\n    - [Firing up the terminal](#firing-up-the-terminal)\n- [🛠 This is a **work-in-progress** project](#-this-is-a-work-in-progress-project)\n- [❤ Contributing](#-contributing)\n- [⚖ License](#-license)\n---\n## Da⚡hTerm\n\nDashTerm is an easy to use , open-source TUI dashboard which enables you to view all the essential data you need at your workplace in a single glance.\n\n![Screenshot](./images/demo.gif)\n\n#### What's the app actually doing ? 🤔\nThis app helps you in marking your events throughout the day, jotting down tasks, tracking down habits, logging journals and time-boxing work with pomo sessions - all enhancing your overall productivity with lightning speed ⚡\nAnd all this information is constantly synced with your cloud services ! \n\n#### Why use a TUI for this? 🤔\nTUI is one of the most frictionless ways to interact with data without getting involved in UI/UX traps.\nOver time, it becomes more efficient for inputting or viewing high frequency datapoints.\n\n\n#### Want to contribute ?\nPlease refer to the [Contributing Section](#contributing-)\n\nThanks in advance ❤\n\n\n## 📑 Features \n\nNot an exaustive list - many more dashboard views are yet to come !\n\nSome of the currently planned **dashboard views** are : \n- 📆 Google calendar\n  - View , edit and modify your daily events\n- ✅ Google tasks\n  - View, edit and modify your tasks from any task lists\n- 🎯 Habitica - Habit Tracking\n  - Manage and track your dailies and habits synced with [Habitica](https://habitica.com/)\n- 📒 Google Keep\n  - View and add your journalling notes to Google keep \n- ⏲ Pomodoro\n  - View and start-pause-stop pomodoro sessions \n\n\n![Screenshot](./images/Demo1.jpg)\n![Screenshot](./images/Demo2.jpg)\n![Screenshot](./images/kubernetes_config.png)\n![Screenshot](./images/sample_config.png)\n\n\n## 🕹 How to use this ?\n#### Requirements\n- python3\n- pip or pip3\n\n#### Setting up Google Cloud Client\n- ##### Login Information\n  OAuth2 is used for authenticating with your Google account. The resulting token\n  is placed in the `root directory`. When you first start any google API command inside TUI dashboard, the\n  authentication process will proceed. Simply follow the instructions.\n\n\n- ##### You currently have to use your own Google API token.\n  In order to facilitate the token process : \n    1. [Create a New Project](https://console.developers.google.com/projectcreate) within the Google developer console\n      1. Activate the \"Create\" button.\n    2. [Enable the Google Calendar API](https://console.developers.google.com/apis/api/calendar-json.googleapis.com/)\n      1. Activate the \"Enable\" button.\n    3. [Create OAuth2 consent screen](https://console.developers.google.com/apis/credentials/consent/edit;newAppInternalUser=false) for an \"UI /Desktop Application\".\n      1. Fill out required App information section\n          1. Specify App name. Example: \"gcalcli\"\n          2. Specify User support email. Example: your@gmail.com\n      2. Fill out required Developer contact information\n          1. Specify Email addresses. Example: your@gmail.com\n      3. Activate the \"Save and continue\" button.\n      4. Scopes: activate the \"Save and continue\" button.\n      5. Test users\n          1. Add your@gmail.com\n          2. Activate the \"Save and continue\" button.\n    4. [Create OAuth Client ID](https://console.developers.google.com/apis/credentials/oauthclient)\n      1. Specify Application type: Desktop app.\n      2. Activate the \"Create\" button.\n    5. Grab your newly created Client ID (in the form \"xxxxxxxxxxxxxxx.apps.googleusercontent.com\") and Client Secret from the Credentials page.\n    6. Download the Credential Json file and name it is as `credentials.json` - it should look like [credentials-sample.json](credentials-sample.json)\n\n\n- ##### HTTP Proxy Support\n  DashTerm will automatically work with an HTTP Proxy simply by setting up some\n  environment variables used by the gdata Python module:\n\n  ```\n  http_proxy\n  https_proxy\n  proxy-username or proxy_username\n  proxy-password or proxy_password\n  ```\n\n  Note that these environment variables must be lowercase.\n\n#### Cloning the repo\n```\n\u003e\u003e git clone https://github.com/Akash-Sharma-1/DashTerm.git\n```\n#### Installing Dependencies\n```\n\u003e\u003e cd DashTerm\n\u003e\u003e pip install -r requirements.txt\n```\n#### Firing up the terminal\n```\n\u003e\u003e python tui.py\n```\n- Use Windows Terminal for the best experience\n\n\n## 🛠 This is a **work-in-progress** project \n\nThe project currently is divided in 2 milestones : **Phase 1** and **Phase 2**\n- *Phase 1* is the milestone where the plan is construct robust implementations for the currently planned basic features.\n- *Phase 2* is the milestone where the plan is extend the tool to integrate more plugins and make it more user friendly\n\nThere are a few todo items left for the Phase 1 - you can view it in the [Projects](https://github.com/users/Akash-Sharma-1/projects/1/views/1) section.\nAll the issues are tagged with Phase 1 and Phase 2 depending upon the severity and nature.\n\n## ❤ Contributing \n\nCurrently, there are very few limited applications in the market, that could provide a single glance view of all the essential components of a work management system for a developer. \n\nThe definition of a work management system itself varies quite differently across devs, orgs and groups.\n\u003e*DashTerm could become a personalised plug-play TUI tool for everyone to manage their work effectively and enhance their productivity with plugins they feel empowered with .* \n\nAchieving this humongous task, is only a possiblity with your contributions to this project through bug reporting, proposing enhacements, documenting, code contributing and much more.\n\nKindly also refer to [CONTRIBUTING.md](CONTRIBUTING.md) for more details on our code of conduct and the process for submitting pull requests.\n\n## ⚖ License \n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakash-sharma-1%2Fdashterm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakash-sharma-1%2Fdashterm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakash-sharma-1%2Fdashterm/lists"}