Throughout creating this project I learned how to call API's in C++, properly connect libraries through the tasks.json, properly use relative paths, project file structures, use the windows tray. I am still learning to use Make to statically link the files and store them in the .exe file directly but that will be done in the private repo.
Overall what this project taught me most was how effective using C++ is for creating real deployable software.
I am planning on selling this software in the future. It wouldn't really be a good idea to have this code public while I work on it lol. This project started out as a way to learn C++ and has turned into a lot more.
This is a tray icon that appears green if the user has done a GitHub commit today. It appears gray if the user has not. You must give the application permissions through a GitHub token. The user must also install the necessary libraries and more. I will fix these problems in the next release!
If you want to count commits for private repositories use this method
- Go to Github Developer Settings
- Click
Generate new token (classic) - Name the token
- Set the expiration to any time.
- Longer experiration: less hassle
- Shorter expiration: more secure
- Under select scopes check [X]
repo:status - Generate Token
- Place your token in the "TOKEN.env" file
- Download libcurl
curl-8.10.1
- Extract zip file
- Open the extracted folder and drag it into this folder
- Note: It's inside the unzipped folder with the same name
- Run
curl.exeinsidebin\ - Add the bin folder to your system environment variables under path
{Whatever path you need}\Daily-Commit-Tracker\bin\curl-8.10.1_1-win64-mingw\bin
- I added this functionality already but if you want to know where I got it:
Make a
cacert.pemfile and place it in theDaily-Commit-Trackerfolder
Daily-Commit-Tracker | lib | | curl-8.10.1_1 (folder) | | | bin |README.md
If you want to change directory make sure you update the environment variables and the .vscode/tasks.json
- Download
nlohmann\json.hpp
- Place it in the nlohmann folder
- Add
"-lshell32",to tasks.json
I downloaded Inno from here Site Link
Win+RWindows Key + R- input:
shell:startup - Place a LINK/shortcut to the
main.exefile in this folder- if it isn't a link/shortcut this will not work
- After this it should open on startup although I am not certain lol
- (I will try and make a way for the user to press a button and do this)
- Example:
C:\Users\[YourUserName]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
- Create anything in the taskbar tray
- Implement taskbar changes to code
- Fix file structure
- Create method to type in or change information on first startup
- Add an icon for when no connection
- Change file paths to be based on the root folder to allow running the .exe to be consistent.
- Make Private Repository to add this to my patreon