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 🚗...
It's simple, the Program groups our everyday goals and tasks, into 5 types, namely:
- Academic
- Sports
- Self-Oriented
- Work/Skill-Oriented
- 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:
- Level (1): Neophyte [0 - 100]
- Level (2): Intermediate [100 - 300]
- Level (3): Adept [300 - 650]
- Level (4): Prime [650 - 1200]
- Level (5): Paramount [1200+]
Start goals, Finish them, Check the time details, View detailed Goal Descriptions, and drive forward for an ambitious life!
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.
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.
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 :)
- 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
pip install -r requirements.txt
Use
pip3
instead ofpip
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 ofpython
on Linus / MacOS
Voila! It's done! Hope you'll have a great time using the program...