1
0
Fork 0
Go to file
Ryan Mwangi fde1a78627 create calendar.test.js for automated tests 2024-10-29 21:23:40 +03:00
calendar edit date based calendar url 2024-10-29 21:13:14 +03:00
.gitignore Initial commit 2024-09-30 15:55:03 +03:00
README.md add git repository url to be cloned using ssh 2024-10-17 12:29:50 +03:00
calendar.test.js create calendar.test.js for automated tests 2024-10-29 21:23:40 +03:00
index.html remove refresh calendars button in html 2024-10-25 14:52:41 +03:00
merged_calendar_url.txt serve updated merged calendar to user 2024-10-08 22:13:25 +03:00
package-lock.json install jest to run automated tests 2024-10-29 21:20:48 +03:00
package.json install jest to run automated tests 2024-10-29 21:20:48 +03:00
script.js remove refreshCalendarButton constant in script.js 2024-10-25 14:56:14 +03:00
server.js for date based events use the date part only in the /calendar/:name endpoint 2024-10-29 15:47:58 +03:00
styles.css Initial commit 2024-09-30 15:55:03 +03:00

README.md

Calendar Merger Project

Overview

The Calendar Merger project is a web application that allows users to merge multiple calendars into a single calendar. It provides a simple and intuitive interface for users to:

  • Add calendars
  • Specify prefixes for each calendar
  • Override event summaries if desired

The application also generates a unique URL for the merged calendar and updates it every hour using a cron job.

Features

  • Merge multiple calendars into a single calendar
  • Specify prefixes for each calendar
  • Optionally override event summaries
  • Generate a unique URL for the merged calendar
  • Automatically update the merged calendar every hour

Requirements

  • Node.js (version 14 or higher)
  • npm (included with Node.js)

Installation

  1. Clone the repository:

    git clone git@forge.ftt.gmbh:ryanmwangi/CalMerger.git
    
  2. Install the dependencies:

    npm install
    
  3. Start the server:

    npm start
    

Key Terms

  • Calendar Feed: A data format that allows users to subscribe to calendar events (e.g., iCalendar .ics format).
  • Webcal: A URL scheme for subscribing to calendar feeds, often used with iCalendar files.
  • CalDAV: An internet standard for accessing and managing calendar data on remote servers.
  • Prefix: A string added to the beginning of a calendar feed URL or identifier for organization.
  • Merged Feed: A single calendar feed combining multiple sources into one unified view.

Usage

  1. Open a web browser and navigate to http://localhost:3000.
  2. Click the Add Calendar button to add a new calendar.
  3. Enter the Link Group Name, calendar URL, prefix, and override options (if needed).
  4. Click the Merge Calendars button to generate the merged calendar.
  5. The merged calendar URL will be displayed on the page.

API Endpoints

  • GET /: Returns the index.html file.
  • POST /merge: Merges the calendars and returns the merged calendar URL.
  • GET /:filename: Returns the merged calendar file.

Contributing

Contributions are welcome! If you'd like to contribute:

  1. Fork the repository.
  2. Make your changes.
  3. Submit a pull request.