Skip to content

hakanayata/cv-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CV-Generator 🖇️

A web-based application that allows users to create a CV(Curriculum Vitae)/Resumé in portable document format (pdf).

Final Project - Harvard CS50P: Introduction to Programming with Python

Watch demo: YouTube

App link: Python Anywhere

Description: Web-based app built with Python (Flask), Jinja Templates, JavaScript and Bootstrap.

This web application was made as a final project for Harvard's Introduction to Programming course. The goal was to build a full fledged web application, combining the knowledge obtained from both CS50 and CS50P courses.

CV-Generator helps users to create a portable document format (pdf) of a CV (Curriculum Vitae) after filling out a single page form.

Quick Demo

CV-Generator-Quick-Demo

Features

  • Personal Information section where users type their name, address, upload their picture, etc.
  • Target Job Title section lets users add a target job title they have been aiming for to their resume.
  • Experience section where users enter up to five vocational experiences.
  • Education section allows users to add up to five different educational fields.
  • Skills section where users type their skills that make them stand out in the job market.
  • Functions for formatting data which were also included in unit tests:
    • get_duration() is a function which takes two dates as arguments and calculates the duration between two dates and returns that duration in years and months.
    • date_formatter() is a function which takes a date as an argument in 'YYYY-MM' format and returns a string type of the date in 'MM.YYYY' format.
    • skill_formatter() is a function which takes an array of strings of skills as an argument and returns just a single string with pipe '|' added between each skills.

Languages & Tools

  • Python 3.11
    • fpdf2: library for PDF creation
    • Pillow: library for image processing
    • pytest: framework for unit tests
  • Flask 2.2
  • Jinja 3.1
  • HTML
  • CSS
  • Bootstrap
  • JavaScript
  • Visual Studio Code
  • GIT & Github
  • Google Colab
  • iTerm2

Potential Improvements

  • Utilizing a database to keep users data, so they could create CVs swiftly later on.

Feedback

You might be able to test this application at: Python Anywhere I would appreciate any kind of feedback. (See Contact below)

Contact

I'm Hakan. You could reach me at info@hakanayata.com

    print("This was CS50P!")