Skip to content

Kaal is a productivity suite with beautiful CLI and a Discord Bot.

License

Notifications You must be signed in to change notification settings

MLH-Fellowship/pod_1.0.2_kaal

Kaal

Video Link

🤖 Invite the Bot to your server

Banner

October 12th, 2020 - MLH Fellowship Orientation Hackathon Project
by Aayush Joglekar, Gagan Deep and Rishi Raj Singh.

💁‍♂️ What is the project?

Kaal is a productivity suite with a beautiful CLI ✨ and Discord Bot 🤖. Kaal shows the fellows' work time and productivity at a glance within Discord and a simple CLI tool to track each fellow's coding routine while working for the fellowship. 💪

Gamify the pod's productivity!

Screenshots

Registration

Registration Demo

Check In

Check In

Check Out

Check Out

🧑‍🔬 How to use it?

Prerequisites:

  1. Python3: Installation Steps
  2. Clone the repository: https://github.com/MLH-Fellowship/pod_1.0.2_moropy.git
  3. Type sudo apt-get install xdotool
  4. Head over to the cloned repository's kaal_cli folder and type pip3 install -r requirements.txt
  5. All the dependencies will be installed and the project is good to go! 🎉

Instructions:

  1. Type !register command in the Kaal enabled Discord channel and it'll return your Secret Code 🤫 in the DM.
  2. Head over to the repository and type ./moropy.py register and paste the Secret Code.
  3. When you wish to start the work, type ./moropy.py checkin and it'll start watching the softwares open. 👀
  4. When it's time to stop the work, type ./moropy.py checkout, the CLI will check you out and stop watching the windows. 😌

🙇 Why do we need it?

This project was inspired by WakaTime and the amazing Discord Bots!

Using this project, the productivity of the pod can be monitored without invading the privacy and can be used to have a healthy competition within the pod. The pod leader (or anyone in the channel) can see the performance of all fellows in that week (or all-time data) in the form of a leaderboard. 🧑🏻‍💻

🧑‍💻 Our tech stack!

  1. Flask 1️⃣

    Flask is being used as the backend server to listen for updates from CLI, managing database and listening to the discord bot.

  2. Click 2️⃣

    Click package manages the beautiful CLI and triggers background scripts for listening to window changes.

  3. discord.py

    discord.py helps to provision the REST APIs for the bot-server communication.

  4. Firestore

    Firestore is being used as the primary database.

  5. Heroku

    Heroku hosts the backend server for the Bot and CLI.

  6. xdotool

    xdotool is a linux package to listen to the active window process ID.

🙏🏻 Anything else?

Remember the rules!

It's not about:

  • how good your code is,
  • how novel the idea is, or
  • how useful the project is.

It is about:

  • Impressive: People's wows are on record! Check Discord!
  • Design: A snappy 24/7 available bot and a beautiful CLI 🌠
  • Completion: Our hack works completely!
  • Learning: Discord Bot, Authorization, Bash Scripting and Flask!
  • OSS practices: Plentiful commits, Code reviews, Kanban boards, issues, branches, PRs!
  • Approved tech: Flask, Click

In short:

Sometimes a pointless project is one of the best hacks!
—MLH Hackathon Rules

About

Kaal is a productivity suite with beautiful CLI and a Discord Bot.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Sponsor this project