This project implements a Resume Generator web application using FastAPI. The application allows users to upload a LinkedIn PDF, select an AI API (OpenAI or Gemini), and generate an HTML resume based on the content of the PDF.
-
FastAPI Web Application:
- The main application logic is implemented in
app.py
. - It handles file uploads, API selection, and resume generation.
- The main application logic is implemented in
-
HTML Template:
- The upload form is defined in
templates/index.html
. - It provides a user-friendly interface for file upload and API selection.
- The upload form is defined in
-
Resume Template:
- The generated resume uses a pre-defined HTML template (
templates/resume_template.html
). - This template ensures a consistent and professional look for all generated resumes.
- The generated resume uses a pre-defined HTML template (
To run this project on your local machine, follow these steps:
-
Clone the repository:
git clone https://github.com/SarthakPaandey/ResumeWebsiteGenerator cd ResumeWebsiteGenerator
-
Create and activate a virtual environment:
python -m venv myenv source myenv/bin/activate # On Windows, use: myenv\Scripts\activate
-
Install the required dependencies:
pip install -r requirements.txt
-
Run the FastAPI application:
uvicorn app:app --reload
-
Open your web browser and navigate to
http://127.0.0.1:8000
to access the application.
- Upload a LinkedIn PDF file.
- Select the AI API you want to use (OpenAI or Gemini).
- Enter your API key for the selected service.
- Click "Generate Resume" to create your HTML resume.
The project relies on several Python libraries, which are listed in the requirements.txt
file.
- Add more AI API options for resume generation.
- Implement user authentication and resume storage.
- Enhance the resume template with more customization options.
- Add support for multiple file formats beyond PDF.
- Implement a preview feature before downloading the generated resume.
This implementation provides a solid foundation for a Resume Generator application, with room for expansion and improvement based on user feedback and additional requirements.