{"id":20375218,"url":"https://github.com/anjannair/tkinter-resume","last_synced_at":"2025-04-12T07:17:54.567Z","repository":{"id":44808220,"uuid":"365118416","full_name":"anjannair/tkinter-resume","owner":"anjannair","description":"A Tkinter resume builder which has a sign-up, login and generate resume function. Utilizes fernet keys to encrypt the user data to keep it secure.","archived":false,"fork":false,"pushed_at":"2024-01-23T18:13:19.000Z","size":2066,"stargazers_count":5,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-12T07:17:49.222Z","etag":null,"topics":["hacktoberfest","resume-builder","resume-creator","resume-generator","tkinter","tkinter-python","tkinter-resume"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anjannair.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-07T04:56:35.000Z","updated_at":"2023-05-14T20:17:07.000Z","dependencies_parsed_at":"2024-01-23T19:30:58.829Z","dependency_job_id":"fb03d5a6-8b90-43b4-8497-c33caadc948e","html_url":"https://github.com/anjannair/tkinter-resume","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anjannair%2Ftkinter-resume","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anjannair%2Ftkinter-resume/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anjannair%2Ftkinter-resume/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anjannair%2Ftkinter-resume/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anjannair","download_url":"https://codeload.github.com/anjannair/tkinter-resume/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248530604,"owners_count":21119601,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","resume-builder","resume-creator","resume-generator","tkinter","tkinter-python","tkinter-resume"],"created_at":"2024-11-15T01:29:22.468Z","updated_at":"2025-04-12T07:17:54.542Z","avatar_url":"https://github.com/anjannair.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tkinter Resume Generator\nA tkinter project that was designed to store data of users and build resumes from the data inputted.\n\n## How this project is different from the others?\n* The project has a beautiful GUI that has a sign-up page, a login page, and 2 pages of resume data inputting page.\n* It utilizes JSONs to store data of users.\n* [Fernet keys](https://cryptography.io/en/latest/fernet/) are used to encrypt the `user.json` file which is used to store user data.\n\n## How to get started?\n1) Fork the project and clone it on your system or download the zipped code from [here](https://github.com/anjannair/tkinter-resume/archive/refs/heads/main.zip).\n2) Next find the `example-database` folder and rename it to `database`.\n3) Run the famous `pip install -r requirements.txt` or ` pip3 install -r requirements.txt `\n4) Open the `fernet` folder and head to `genkey.py` and generate your Fernet key (by executing the code) and keep it a secret! Then open `encryption.py` and execute it. \n   **PS: You only have to generate the key only once!! Do not generate it again!!**\n5) Create a folder in the `database` folder called `images`\n6) You need a registered user to get started so execute `reg.py` and tadaa!!! (On a side note: Once you execute `reg.py` just execute `main.py` from next time)\n\n\u003cdiv align=\"center\"\u003e\n\u003cb\u003eYOU ARE GOOD TO GO!!!!\u003c/b\u003e\n\u003c/div\u003e\n\u003cbr\u003e\u003c/br\u003e\n\n## A sneak-peek into the GUI\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://github.com/anjannair/tkinter-resume/blob/main/images/Screenshots/reg.png\" \u003e\n\u003cp\u003eThe registeration page of the GUI\u003c/p\u003e\n\u003c/div\u003e\n\u003cbr\u003e\u003c/br\u003e\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://github.com/anjannair/tkinter-resume/blob/main/images/Screenshots/resume.png\" \u003e\n\u003cp\u003eThe first resume page of the GUI\u003c/p\u003e\n\u003c/div\u003e\n\n## Issues one may face\n* There is a very small chance you may get a cryptography error (`cryptography.fernet.InvalidToken`) then all you need to do is check if the `user.json` file in the `database` folder is encrypted. If not run `encryption.py` in the `fernet` folder.\n* Alignment of the GUI may not be proper because of the use of `fullscreen` mode in tkinter window attributes. Since screen of each desktop is different the alignment varies. If you want to remove it, use the search function in your IDE and search for the`.attributes('-fullscreen', True)` and replace it with `.geometry('\u003cYOUR DIMENSION\u003e')` (obviously replace `\u003cYOUR DIMENSION` with the dimension you want).\n* The alignment of the resume generated changes. Yes I know about this and I am looking at better solutions for generating a resume in a dynamic way. \n* The GUI may lag when scrolling up and down but that cannot be fixed.\n* The GUI may lag after the `CREATE RESUME` button is clicked after the second page of the resume input. I am trying to determine a fix for it and making it faster.\n\n## References\n1) I was inspired by the GUI of this project and adopted it into mine - https://github.com/MaddyUnknown/Application-form-Tkinter\n2) The resume generator was exactly built and modified from an existing project - https://github.com/e-kirkland/datascience/tree/master/Resume","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanjannair%2Ftkinter-resume","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanjannair%2Ftkinter-resume","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanjannair%2Ftkinter-resume/lists"}