Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/akash-sharma-1/dashterm
A terminal based application (TUI) for enhancing your productive workstation π¨βπ»
https://github.com/akash-sharma-1/dashterm
google-calendar google-keep google-tasks habitica hacktoberfest pomodoro productivity python terminal tui
Last synced: 3 months ago
JSON representation
A terminal based application (TUI) for enhancing your productive workstation π¨βπ»
- Host: GitHub
- URL: https://github.com/akash-sharma-1/dashterm
- Owner: Akash-Sharma-1
- License: mit
- Created: 2022-09-23T16:28:16.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-10-29T14:56:36.000Z (over 1 year ago)
- Last Synced: 2024-07-30T18:52:11.987Z (6 months ago)
- Topics: google-calendar, google-keep, google-tasks, habitica, hacktoberfest, pomodoro, productivity, python, terminal, tui
- Language: Python
- Homepage:
- Size: 2.35 MB
- Stars: 9
- Watchers: 2
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
A terminal based application (TUI) for enhancing your productive workstation π¨βπ»...
Report a Bug/Issue | Request a Feature | View Project Status
---
- [Daβ‘hTerm](#da-hterm)
- [What's the app actually doing ? π€](#whats-the-app-actually-doing--)
- [Why use a TUI for this? π€](#why-use-a-tui-for-this-)
- [Want to contribute ?](#want-to-contribute-)
- [π Features](#-features)
- [πΉ How to use this ?](#-how-to-use-this-)
- [Requirements](#requirements)
- [Setting up Google Cloud Client](#setting-up-google-cloud-client)
- [Cloning the repo](#cloning-the-repo)
- [Installing Dependencies](#installing-dependencies)
- [Firing up the terminal](#firing-up-the-terminal)
- [π This is a **work-in-progress** project](#-this-is-a-work-in-progress-project)
- [β€ Contributing](#-contributing)
- [β License](#-license)
---
## Daβ‘hTermDashTerm 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.
![Screenshot](./images/demo.gif)
#### What's the app actually doing ? π€
This 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 β‘
And all this information is constantly synced with your cloud services !#### Why use a TUI for this? π€
TUI is one of the most frictionless ways to interact with data without getting involved in UI/UX traps.
Over time, it becomes more efficient for inputting or viewing high frequency datapoints.#### Want to contribute ?
Please refer to the [Contributing Section](#contributing-)Thanks in advance β€
## π Features
Not an exaustive list - many more dashboard views are yet to come !
Some of the currently planned **dashboard views** are :
- π Google calendar
- View , edit and modify your daily events
- β Google tasks
- View, edit and modify your tasks from any task lists
- π― Habitica - Habit Tracking
- Manage and track your dailies and habits synced with [Habitica](https://habitica.com/)
- π Google Keep
- View and add your journalling notes to Google keep
- β² Pomodoro
- View and start-pause-stop pomodoro sessions![Screenshot](./images/Demo1.jpg)
![Screenshot](./images/Demo2.jpg)
![Screenshot](./images/kubernetes_config.png)
![Screenshot](./images/sample_config.png)## πΉ How to use this ?
#### Requirements
- python3
- pip or pip3#### Setting up Google Cloud Client
- ##### Login Information
OAuth2 is used for authenticating with your Google account. The resulting token
is placed in the `root directory`. When you first start any google API command inside TUI dashboard, the
authentication process will proceed. Simply follow the instructions.- ##### You currently have to use your own Google API token.
In order to facilitate the token process :
1. [Create a New Project](https://console.developers.google.com/projectcreate) within the Google developer console
1. Activate the "Create" button.
2. [Enable the Google Calendar API](https://console.developers.google.com/apis/api/calendar-json.googleapis.com/)
1. Activate the "Enable" button.
3. [Create OAuth2 consent screen](https://console.developers.google.com/apis/credentials/consent/edit;newAppInternalUser=false) for an "UI /Desktop Application".
1. Fill out required App information section
1. Specify App name. Example: "gcalcli"
2. Specify User support email. Example: [email protected]
2. Fill out required Developer contact information
1. Specify Email addresses. Example: [email protected]
3. Activate the "Save and continue" button.
4. Scopes: activate the "Save and continue" button.
5. Test users
1. Add [email protected]
2. Activate the "Save and continue" button.
4. [Create OAuth Client ID](https://console.developers.google.com/apis/credentials/oauthclient)
1. Specify Application type: Desktop app.
2. Activate the "Create" button.
5. Grab your newly created Client ID (in the form "xxxxxxxxxxxxxxx.apps.googleusercontent.com") and Client Secret from the Credentials page.
6. Download the Credential Json file and name it is as `credentials.json` - it should look like [credentials-sample.json](credentials-sample.json)- ##### HTTP Proxy Support
DashTerm will automatically work with an HTTP Proxy simply by setting up some
environment variables used by the gdata Python module:```
http_proxy
https_proxy
proxy-username or proxy_username
proxy-password or proxy_password
```Note that these environment variables must be lowercase.
#### Cloning the repo
```
>> git clone https://github.com/Akash-Sharma-1/DashTerm.git
```
#### Installing Dependencies
```
>> cd DashTerm
>> pip install -r requirements.txt
```
#### Firing up the terminal
```
>> python tui.py
```
- Use Windows Terminal for the best experience## π This is a **work-in-progress** project
The project currently is divided in 2 milestones : **Phase 1** and **Phase 2**
- *Phase 1* is the milestone where the plan is construct robust implementations for the currently planned basic features.
- *Phase 2* is the milestone where the plan is extend the tool to integrate more plugins and make it more user friendlyThere 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.
All the issues are tagged with Phase 1 and Phase 2 depending upon the severity and nature.## β€ Contributing
Currently, 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.
The definition of a work management system itself varies quite differently across devs, orgs and groups.
>*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 .*Achieving this humongous task, is only a possiblity with your contributions to this project through bug reporting, proposing enhacements, documenting, code contributing and much more.
Kindly also refer to [CONTRIBUTING.md](CONTRIBUTING.md) for more details on our code of conduct and the process for submitting pull requests.
## β License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details