<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: gogi2811</title>
    <description>The latest articles on Forem by gogi2811 (@gogi2811).</description>
    <link>https://forem.com/gogi2811</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F171828%2Fd2351c02-796e-468a-aec1-aa0b2d252e72.png</url>
      <title>Forem: gogi2811</title>
      <link>https://forem.com/gogi2811</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/gogi2811"/>
    <language>en</language>
    <item>
      <title>Weekly Planner with Trello + python</title>
      <dc:creator>gogi2811</dc:creator>
      <pubDate>Wed, 11 Aug 2021 02:11:36 +0000</pubDate>
      <link>https://forem.com/gogi2811/weekly-planner-with-trello-python-3d5l</link>
      <guid>https://forem.com/gogi2811/weekly-planner-with-trello-python-3d5l</guid>
      <description>&lt;p&gt;&lt;a href="https://blog.gauravnlotekar.cloud/" rel="noopener noreferrer"&gt;This post was originally posted here.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Forming a new habit is hard especially the good ones, if you don't agree with me then we can't be friends.&lt;/p&gt;

&lt;p&gt;Many well known people have written books on how to create a new habit and stick to it , my favorite one is  &lt;a href="https://jamesclear.com/atomic-habits" rel="noopener noreferrer"&gt;Atomic habits&lt;/a&gt; do read it will change the way you think.&lt;/p&gt;

&lt;p&gt;Little introduction about myself , I am a Software Engineer working majorly in the Data Engineering domain. I enjoy doing some side projects for myself and sometimes indulge in freelancing , that 🍣 ain't getting cheap 😜.&lt;/p&gt;




&lt;h2&gt;
  
  
  Motivation 🔥 🔥
&lt;/h2&gt;

&lt;p&gt;I have struggled in the past with habit formation and following up with a daily constant routine, what worked for me most of the time was if I had my to-dos for any given day.&lt;br&gt;
My productivity would increase and was able get more things done.&lt;br&gt;
This led to my quest for a creating my daily/weekly/monthly todo list , but the tools that I used required manual entry of all the Tasks and I hated it when I had to it for months.&lt;br&gt;
I am lazy&lt;/p&gt;

&lt;p&gt;Here lies a problem and  &lt;a href="https://trello.com/en" rel="noopener noreferrer"&gt;Trello &lt;/a&gt; came as a savior with its magic API's.&lt;/p&gt;
&lt;h2&gt;
  
  
  Trello  and Python to the rescue 🐍
&lt;/h2&gt;

&lt;p&gt;Trello is task management tool used by startups and individuals to track the tasks and their progress, to be put up simply.&lt;br&gt;
Trello exposes it  &lt;a href="https://developer.atlassian.com/cloud/trello/rest/api-group-actions/" rel="noopener noreferrer"&gt;API's&lt;/a&gt;  to do CRUD operations on trello boards  and that's exactly what I did with a little help of Python&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Talk is cheap. Show me the code --  Linus Trovalds&lt;/p&gt;
&lt;/blockquote&gt;


&lt;h3&gt;
  
  
  Pre-requisites
&lt;/h3&gt;

&lt;p&gt;Both tech and non-tech audiences can use it with a lil bit of guidance.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.python.org/downloads/" rel="noopener noreferrer"&gt;Python 3+ installed&lt;/a&gt;  on your machine&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Git clone or download the repository on to your machine&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;git clone &lt;a href="https://github.com/gogi2811/trello-planner.git" rel="noopener noreferrer"&gt;https://github.com/gogi2811/trello-planner.git&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Obtain Trello token + Key + board_id&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; &lt;a href="https://trello.com/signup" rel="noopener noreferrer"&gt;SignIn/SignUp&lt;/a&gt;  in trello&lt;/li&gt;
&lt;li&gt; &lt;a href="https://help.trello.com/article/707-creating-a-new-board" rel="noopener noreferrer"&gt;Create a Board in Trello&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Post board creation obtain the board_id by going inside the board and modifying the URL to add &lt;strong&gt;.json&lt;/strong&gt; at the end.
Example &amp;gt; &lt;a href="https://trello.com/b/PxEQPoMz/reports**.json**" rel="noopener noreferrer"&gt;https://trello.com/b/PxEQPoMz/reports**.json**&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt; Obtain &lt;a href="https://trello.com/app-key" rel="noopener noreferrer"&gt;API key&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Get &lt;a href="https://trello.com/1/authorize?expiration=never&amp;amp;scope=read,write,account&amp;amp;response_type=token&amp;amp;name=Server%20Token&amp;amp;key=f016002d1fa8b28249dbc01d89cb2324" rel="noopener noreferrer"&gt;Token&lt;/a&gt; based on API key&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Update the config file with your details.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Configuration File Walk-through
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;├── config.yaml     &amp;lt;- Config file to be updated
│   ├── planner      &amp;lt;- tag not be messed up
│       ├── trello:
│                         token: abc123 &amp;lt;- trello token obtained in previous step
│                         key: zyx123  &amp;lt;- trello API key obtained in previous step
│                         board_id: zyx123  &amp;lt;- trello baord _id obtained in previous step
│       ├── dates:
│                        start_date: 2021-08-09 &amp;lt;- user specific start date from where the 
                                                                           planning is to be started
│                        end_date: 2021-12-30 &amp;lt;- user specific end date from where the 
                                                                           planning is to end                                                 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Structure of the Daily Planner
&lt;/h3&gt;

&lt;p&gt;Below file contains details about how the actual day-day to-do's can be configured for weekly/half-yearly basis as per our needs&lt;br&gt;
File can be found inside the repo:  &lt;a href="https://github.com/gogi2811/trello-planner/blob/main/week_planner.json" rel="noopener noreferrer"&gt;week_planner.json&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "LISTS": [
    {
      "MONDAY": {
        "CARDS": [
          {
            "name": "4:45 AM Wake UP",
            "desc": "To wake up everyday to exercise at 5 AM",
            "pos": "top",
            "due": "",
            "idList": ""
          },
          {
            "name": "10:30 PM  SLEEP",
            "desc": "Wind off the day and sleep",
            "due": "",
            "idList": ""
          }
        ]
      }},{"TUESDAY": {
        "CARDS": [
          {
            "name": "4:45 AM Wake UP",
            "desc": "To wake up everyday to exercise at 5 AM",
            "pos": "top",
            "due": "",
            "idList": ""
          },
          {
            "name": "7 AM - 8 AM household chores",
            "desc": "To do some household chores",
            "due": "",
            "idList": ""
          },      
        ]
      }},{"WEDNESDAY": {
        "CARDS": [
          {
            "name": "4:45 AM Wake UP",
            "desc": "To wake up everyday to exercise at 5 AM",
            "pos": "top",
            "due": "",
            "idList": ""
          }   
      ]}
    }
  ]
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;One needs to update the actual file with their respective tasks or habits that they want to build over time and have them as their day-to-day tasks on trello.&lt;/p&gt;




&lt;h3&gt;
  
  
  Next steps
&lt;/h3&gt;

&lt;p&gt;Lets get down to business of creating the trello dashboards for better life going forward.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Open the clone or downloaded git repo in your fav IDE, mine is  &lt;a href="https://www.jetbrains.com/pycharm/" rel="noopener noreferrer"&gt;Pycharm&lt;/a&gt;  &lt;a href="https://code.visualstudio.com/download" rel="noopener noreferrer"&gt;Visual Studio Code&lt;/a&gt;  works too.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Open terminal tab inside the IDE&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; &lt;a href="https://www.jetbrains.com/help/pycharm/terminal-emulator.html" rel="noopener noreferrer"&gt;PyCharm&lt;/a&gt; &lt;/li&gt;
&lt;li&gt; &lt;a href="https://code.visualstudio.com/docs/editor/integrated-terminal#:~:text=To%20open%20the%20terminal%3A,View%3A%20Toggle%20Integrated%20Terminal%20command." rel="noopener noreferrer"&gt;VSCode&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Let the hacking begin 💻 🔐&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1628403886685%2FSI6_e89PMm.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1628403886685%2FSI6_e89PMm.gif" alt="terminal.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Run below cmd in your respective terminal &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Set up virtual env for your project

&lt;ul&gt;
&lt;li&gt;Linux/MacOS 
&amp;gt; &lt;code&gt;python3 -m venv trelloPlanner&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Windows 
&amp;gt; &lt;code&gt;python -m venv trelloPlanner&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Start the newly created virtualenv&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Linux/MacOS &lt;code&gt;source trelloPlanner/bin/activate&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Windows  &lt;code&gt;.\trelloPlanner\Scripts\activate&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Install all the required packages/dependencies&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&amp;gt; &lt;code&gt;pip install -r requirements.txt&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Once started execute the below cmd and the let the magic unfold &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;python main.py&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1628406680412%2FJgbtkSP6x.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1628406680412%2FJgbtkSP6x.gif" alt="3da178af3ef521d9294ccf09d53ba754125b492b.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now sit back and relax and watch your life get organized by day in front of you.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1628405610459%2Fc5vgLjtLq.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1628405610459%2Fc5vgLjtLq.gif" alt="chill-zen.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://trello.com/b/KVVfSqDo/pythonautomation" rel="noopener noreferrer"&gt;&lt;strong&gt;Checkout My Trello Board&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Learnings &amp;amp; Benefits
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;We saved &lt;strong&gt;70%&lt;/strong&gt; of our time that would have gone if done manually.&lt;/li&gt;
&lt;li&gt;We learnt about Trello API's + Python.&lt;/li&gt;
&lt;li&gt;What we learnt in the process is Automation helps a lot in accomplishing the desired goals faster, better and less error prone manner&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Going Forward
&lt;/h3&gt;

&lt;p&gt;I would recommend all of you lovely folks reading this blog to go through  &lt;a href="https://trello.com/en" rel="noopener noreferrer"&gt;Trello &lt;/a&gt; boards and let me know what else would you like in your tasks&lt;br&gt;
and create  &lt;a href="https://github.com/gogi2811/trello-planner/issues" rel="noopener noreferrer"&gt;Issues/Feature Requests &lt;/a&gt; in my github repo so that I can add them in next iteration.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://github.com/gogi2811/trello-planner" rel="noopener noreferrer"&gt;GitHub Repo for the Code&lt;br&gt;
&lt;/a&gt; &lt;br&gt;
Share among your peeps&lt;/p&gt;

</description>
      <category>python</category>
      <category>programming</category>
      <category>trello</category>
      <category>automation</category>
    </item>
  </channel>
</rss>
