Christopher Orr 3d89eb8582 Handle multi-day holidays.
Some countries (e.g. Russia, or Vietnam) have holidays which span several
days. Rather than using `holiday.date` from the date-holidays library, we
can check the `.start` (inclusive) and `.end` (exclusive) dates, and use
these to show multiple holiday days on the calendar.

However since these properties return a `Date` representing the start of
the day in that country, rather than an ISO string like `.date` does, we
also need to pass in the current browser `timezone` to the library, so
that we show the correct dates to the user.
2024-11-15 10:17:27 +01:00
2024-11-15 10:17:27 +01:00
2024-11-12 00:07:50 +01:00
2024-11-10 15:58:42 +01:00
2024-11-10 15:58:42 +01:00
2024-11-11 19:42:38 +01:00
2024-11-11 19:42:38 +01:00
2024-11-11 19:20:28 +01:00
2024-11-10 15:58:42 +01:00

Stretch My Time Off

Stretch My Time Off is a tool designed to help you optimize your vacation days by aligning public holidays and personal leave. This project was generated entirely with ChatGPT in a code editor designed for AI-assisted development.

Website: https://stretchmytimeoff.com

Stretch My Time Off

Table of Contents

About the Project

This project was created to efficiently manage vacation days by aligning them with public holidays. It was developed using the Cursor IDE with GPT-4o and is hosted on Vercel with Cloudflare.

Features

  • Country-Specific Holidays: Fetches public holidays for your country.
  • Optimized Days Off: Calculates the best use of personal leave days.
  • Interactive Calendar: Visualizes holidays and optimized days off.
  • Responsive Design: Compatible with desktop and mobile devices.

Tech Stack

Installation

  1. Clone the repository:

    git clone https://github.com/zachd/stretch-my-time-off.git
    
  2. Navigate to the project directory:

    cd stretch-my-time-off
    
  3. Install dependencies:

    npm install
    
  4. Start the development server:

    npm run dev
    

Usage

Access the application at http://localhost:3000. Enter your country to view public holidays and plan your time off using the interactive calendar.

Algorithm

The algorithm optimizes personal leave days to maximize consecutive days off:

  1. Identify Public Holidays and Weekends.
  2. Find Gaps between these days.
  3. Rank Gaps by efficiency.
  4. Select Days Off to fill gaps.
  5. Calculate Consecutive Days Off.
graph TD;
    A[Start] --> B[Identify Public Holidays and Weekends]
    B --> C[Find Gaps Between Days Off]
    C --> D[Rank Gaps by Efficiency]
    D --> E[Select Days Off to Fill Gaps]
    E --> F[Calculate Consecutive Days Off]
    F --> G[End]

Contributing

Contributions are welcome! Open an issue or submit a pull request for improvements or new features.

License

Distributed under the MIT License. See LICENSE for more information.

Acknowledgments

  • SvelteKit: For the framework.
  • Vercel: For hosting.
  • Cloudflare: For CDN and security.
  • Cursor IDE and GPT-4o: For development assistance.

Disclaimer: This project was 100% generated with ChatGPT out of pure interest, using a code editor designed for AI-assisted development.

Description
No description provided
Readme 412 KiB
Languages
TypeScript 61.4%
Svelte 37.5%
HTML 0.9%
JavaScript 0.2%