Ryan Mwangi 3d5f2157a2 | ||
---|---|---|
calendar | ||
.babelrc | ||
.gitignore | ||
README.md | ||
calendar.test.js | ||
index.html | ||
jest.config.cjs | ||
merged_calendar_url.txt | ||
package-lock.json | ||
package.json | ||
script.js | ||
server.js | ||
styles.css |
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
Installation
-
Clone the repository:
git clone git@forge.ftt.gmbh:ryanmwangi/CalMerger.git
-
Install the dependencies:
npm install
-
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
- Open a web browser and navigate to
http://localhost:3000
. - Click the Add Calendar button to add a new calendar.
- Enter the Link Group Name, calendar URL, prefix, and override options (if needed).
- Click the Merge Calendars button to generate the merged calendar.
- The merged calendar URL will be displayed on the page.
API Endpoints
GET /
: Returns theindex.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:
- Fork the repository.
- Make your changes.
- Submit a pull request.