rudolphreti / BewerbungMaster

BewerbungMaster is a Blazor web application designed to efficiently create and manage job applications.
MIT License
1 stars 0 forks source link
blazor-server csharp job-application-management pdf-generation

BewerbungMaster

BewerbungMaster is a Blazor application designed to efficiently create and manage job applications.

screenshot

Features

To-Do

Key Components and Architecture

wwwroot Directory

Services

The Services directory contains the core business logic of the application:

PdfGenerationService.cs

This service is responsible for generating PDF documents for job applications. It utilizes the iText7 library to create professional-looking PDFs with advanced features:

  1. iText7 Integration: The service leverages iText7, a powerful PDF manipulation library, to create and modify PDF documents programmatically.

  2. Hyperlink Detection: The service includes functionality to automatically detect URLs within the text content. When a URL is identified, it's converted into an active hyperlink in the generated PDF, enhancing the interactivity of the document.

  3. Syllable Hyphenation: To improve the readability and layout of the generated PDFs, the service implements syllable hyphenation. This feature intelligently breaks words at appropriate syllable boundaries when necessary, ensuring a clean and professional appearance of the text, especially in narrow columns or justified text alignments.

  4. Dynamic Content Placement: The service can dynamically position text, images, and other elements within the PDF, allowing for flexible and customizable document layouts.

  5. Font Management: It handles various font styles and sizes, enabling rich text formatting in the generated PDFs.

These advanced features of the PdfGenerationService.cs contribute to creating polished, professional-looking job application documents that stand out to potential employers.

Installation

Currently, only the source code is available. To set up the project:

  1. Clone the repository
  2. Open the solution in Visual Studio or your preferred IDE
  3. Restore NuGet packages
  4. Build the project

Usage

  1. Provide job data in the data.json file located in the wwwroot/default directory. Include the following information for each job application:
    • Id
    • URL
    • Position
    • Company

The Crawlers directory contains sample crawlers for extracting this data written in Python/Selenium. You need to have a chrome webdriver version, which is compatible with your Chrome-Browser: https://googlechromelabs.github.io/chrome-for-testing/

  1. You can create your own documents in the Users directory within wwwroot. Make sure to indicate this directory in the appsetings.Development.json file.

  2. Run the application and use the interface to manage your job applications and generate documents.

Dependencies

This project uses the following main dependencies:

For a complete list of dependencies, please refer to the BewerbungMasterApp.csproj file.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Support

If you encounter any problems or have any questions, please open an issue in the GitHub repository.