An open API service indexing awesome lists of open source software.

https://github.com/ternion-1121/gamify-life

GLi, a CLI based on Gamifying your life.
https://github.com/ternion-1121/gamify-life

cli databases gameification gamify gamify-life lifestyle productivity productivity-booster productivity-tools python python3 todo todoapp

Last synced: 7 months ago
JSON representation

GLi, a CLI based on Gamifying your life.

Awesome Lists containing this project

README

          

🎮Gamify Life🎯

#### Welcome to *Gamify Life*, or simply GLi :]

![image](https://github.com/TERNION-1121/Gamify-Life/assets/97667653/465555ea-0daa-4603-ad0e-f42d10c30cf7)


## The Best Way to Pursue Your Goals 🎯
You must've played games, right? And even if you have not, you must know friends or people who go crazy when it's about games.

And if you've ever wondered, _"What makes games interesting?"_, then You and I were once on the same track of thoughts :)

Generally, Games have a Main Story. The Player plays Main Quests, as well as Side Quests, to gain experience and confidence to win the Game.
This Project is dedicated on providing a similar approach for "Your Life".
Different types of goals serve as the Side and Main quests for our life. Rewarding ourselves with accordance to the goal accomplished drives us forward 🚗...

## How did I Gamify Life? 🎮
It's simple, the Program groups our everyday goals and tasks, into 5 types, namely:
1. Academic
2. Sports
3. Self-Oriented
4. Work/Skill-Oriented
5. Others

Moreover, it further divides them into **3 Tiers**, on the basis of their difficulty- _Easy, Moderate, or Hard._
As of the current release, any type of goal, upon completion, fetches the user _10, 50, or 100 experience points_, depending on the goal tier chosen (1-3).


These experience points facilitate the **Ranking System**:
1. Level (1): **Neophyte** [0 - 100]
2. Level (2): **Intermediate** [100 - 300]
3. Level (3): **Adept** [300 - 650]
4. Level (4): **Prime** [650 - 1200]
5. Level (5): **Paramount** [1200+]


Start goals, Finish them, Check the time details, View detailed Goal Descriptions, and drive forward for an ambitious life!


## The 'Why?' of this Project
This project idea came to me, while I thought of recording one of my day's activities as they're recorded in games. The whole day having certain main quests, and a few other side quests.
At the end of that day, while I was writing all this down on a piece of a paper, an idea hit my mind, to develop this into a Project, that everyone could use and take benefit of.
And thus I started with the development of this Project.

### Learnings 📝
I went with Python for this one, so as to firm my first stance with handling databases with `sqlite3`.
Working with SQL databases made me remind my old grade 7 days when I was learning SQL in school ;)

I got to know how CLI's (Command Line Interfaces) work in actual code. Working on this project had also been a great time practicing my Python skills.


## On Contributions ✏️💻
As of present, this project has barely scratched the surface of what I had wished to implement!
There's a LOT, and I mean it when I say, a LOT to contribute. I'd appreciate every kind of help, you'd be willing to come forward for- Better README, Wiki-Documentation, More Readable+Refactored Code, Extra features, Suggestions, Issues, anything!

Here are some of the features I wish to implement, hopefully with the help of you all, in the future:

- Adding a daily exp reward.
- Extra exp on completion of a certain number of goals.
- Compounding effect of exp pts for Tier 1 Goals.

Thanks for your kind attention :)

## Requirements
- Python 3.10+ is required to run the program.
- Clone this repository, or simply download the source code
- Navigate to the repository's location
```
~/Gamify-Life
```
- Run the following command
```py
pip install -r requirements.txt
```

> Use `pip3` instead of `pip` on Linux / MacOS


Now in the same repository as before, navigate to the `src` directory.
```
~/Gamify-Life/src
```
Run the following command:
```
python main.py
```
> Use `python3` instead of `python` on Linus / MacOS

Voila! It's done! Hope you'll have a great time using the program...