{"id":20164351,"url":"https://github.com/stephenombuya/python-cv-project","last_synced_at":"2025-03-03T03:13:59.600Z","repository":{"id":252286169,"uuid":"695850583","full_name":"stephenombuya/python-cv-project","owner":"stephenombuya","description":"This Python project generates a CV/Resume document in Word format (.docx) based on user input. The project uses the python-docx library to create and format the document with structured sections such as Profile Picture, Personal Details, About Me, Work Experience, and Skills.","archived":false,"fork":false,"pushed_at":"2024-12-16T16:25:57.000Z","size":1542,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-13T14:28:52.852Z","etag":null,"topics":["file-handling-in-python","open-source","python3"],"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/stephenombuya.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":"2023-09-24T12:28:39.000Z","updated_at":"2024-12-16T16:26:02.000Z","dependencies_parsed_at":"2024-08-08T20:58:32.637Z","dependency_job_id":"2347a47e-dc20-4537-a4a2-6b8534c0fe11","html_url":"https://github.com/stephenombuya/python-cv-project","commit_stats":null,"previous_names":["stephenombuya/python-cv-project"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenombuya%2Fpython-cv-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenombuya%2Fpython-cv-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenombuya%2Fpython-cv-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenombuya%2Fpython-cv-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stephenombuya","download_url":"https://codeload.github.com/stephenombuya/python-cv-project/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241600490,"owners_count":19988715,"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":["file-handling-in-python","open-source","python3"],"created_at":"2024-11-14T00:34:04.669Z","updated_at":"2025-03-03T03:13:59.580Z","avatar_url":"https://github.com/stephenombuya.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **Python CV Project**\n\n## **Project Overview**\nThis Python project generates a CV/Resume document in Word format (.docx) based on user input. The project uses the **`python-docx`** library to create and format the document with structured sections such as Profile Picture, Personal Details, About Me, Work Experience, and Skills.\n\n---\n\n## **Features**\n1. **Profile Picture Upload**\n   - Allows the user to include a profile picture in their CV.\n2. **Personal Details**\n   - Collects the user's name, phone number, and email address.\n3. **About Me Section**\n   - Adds a summary about the user.\n4. **Work Experience Section**\n   - Dynamically collects and adds multiple work experiences with company names, dates, and descriptions.\n5. **Skills Section**\n   - Allows the user to input multiple skills displayed in bullet points.\n6. **Structured and Clean Output**\n   - Generates a professionally formatted CV document (cv.docx).\n\n---\n\n## **Prerequisites**\nEnsure you have the following installed:\n- Python 3.x\n- `python-docx` library (install via pip)\n\n```bash\npip install python-docx\n```\n\n---\n\n## **Project Structure**\n```plaintext\npython-cv-project/\n│\n├── my_app.py           # Main Python script to generate the CV\n├── requirements.txt    # Project dependencies\n├── pexels-rachel-claire-5490276.jpg   # Sample profile picture\n├── README.md           # Documentation file\n├── LICENSE             # License for the project\n└── cv.docx             # Output CV file (generated dynamically)\n```\n\n---\n\n## **How to Run the Project**\n1. **Clone the Repository**\n   ```bash\n   git clone https://github.com/stephenombuya/python-cv-project.git\n   cd python-cv-project\n   ```\n\n2. **Install Dependencies**\n   Use the provided `requirements.txt` file to install necessary libraries.\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n3. **Run the Script**\n   Execute the Python script to generate your CV.\n   ```bash\n   python my_app.py\n   ```\n\n4. **Input Details**\n   Follow the prompts to input:\n   - Profile picture path\n   - Name, phone number, and email\n   - About Me section\n   - Work Experience(s)\n   - Skills\n\n   Once done, the script will generate a **cv.docx** file in the project directory.\n\n---\n\n## Example Input/Output\n### Input Prompts Example\n```plaintext\nWhat is your name? John Doe\nWhat is your phone number? +1234567890\nWhat is your email? john.doe@example.com\nTell me about yourself? I am a software developer with 5+ years of experience.\n\nEnter company: ABC Corp\nFrom Date: 2020\nTo Date: 2023\nDescribe your experience at ABC Corp: Developed web applications and managed deployments.\n\nDo you have more experiences? Yes or No: No\nEnter your skill: Python\nDo you have more skills? Yes or No: Yes\nEnter your skill: JavaScript\nDo you have more skills? Yes or No: No\n```\n\n### Output Document Structure\n- **Profile Picture** (2x2 inches)\n- **Personal Details**: John Doe | +1234567890 | john.doe@example.com\n- **About Me**: \"I am a software developer with 5+ years of experience.\"\n- **Work Experience**:\n  - **ABC Corp (2020-2023)**: \"Developed web applications and managed deployments.\"\n- **Skills**:\n  - Python\n  - JavaScript\n\n---\n\n## **Improvements**\nThis version of the project includes:\n- **Input Validation**: Ensures proper input formats (e.g., email validation).\n- **Error Handling**: Handles errors for missing files, invalid input, or unexpected interruptions.\n- **Dynamic Sections**: Allows users to add multiple work experiences and skills seamlessly.\n- **Code Refactoring**: Cleaner and more modular code for better maintainability.\n\n---\n\n## **Future Enhancements**\nHere are some ideas for improving the project further:\n1. **Automatic File Naming**: Save each generated CV with a unique filename.\n2. **PDF Export**: Add functionality to export the CV as a PDF document.\n3. **GUI Integration**: Create a graphical user interface using Tkinter or PyQt.\n4. **Template Support**: Allow users to choose from multiple CV templates.\n5. **Skill Categories**: Organize skills under categories like Technical Skills, Soft Skills, etc.\n\n---\n\n## License\nThis project is licensed under the [GPL-3.0 License](LICENSE).\n\n---\n\n## Author\n**Stephen Ombuya**\n- GitHub: [Stephen Ombuya](https://github.com/stephenombuya)\n- LinkedIn: [Stephen Ombuua](https://www.linkedin.com/in/stephen-ombuya-backend-web-engineer/?lipi=urn%3Ali%3Apage%3Ad_flagship3_feed%3B3jUSREkYTT%2B9BM%2BVEoO9kA%3D%3D)\n\n---\n\n## Contribution\nContributions are welcome! To contribute:\n1. Fork the repository.\n2. Create a new branch.\n3. Make your changes.\n4. Submit a pull request.\n\nFeel free to open an issue for feature requests or bug reports.\n\n---\n\n## Acknowledgments\n- Profile picture from [Pexels](https://www.pexels.com)\n- `python-docx` library for document generation.\n\n---\n\nThank you for using the Python CV Project! 🚀\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstephenombuya%2Fpython-cv-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstephenombuya%2Fpython-cv-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstephenombuya%2Fpython-cv-project/lists"}