From 18971071b71e8b008743e755835e24cfa3911ba9 Mon Sep 17 00:00:00 2001 From: Ryan Mwangi Date: Thu, 17 Oct 2024 12:07:19 +0300 Subject: [PATCH] update README.md to use markdown --- README.md | 90 ++++++++++++++++++++++++++++++++----------------------- 1 file changed, 53 insertions(+), 37 deletions(-) diff --git a/README.md b/README.md index 8bdd444..e187322 100644 --- a/README.md +++ b/README.md @@ -1,57 +1,73 @@ -**Calendar Merger Project** +# Calendar Merger Project -**Overview** +## Overview -The Calendar Merger project is a web application that allows users to merge multiple calendars into a single calendar. The application provides a simple and intuitive interface for users to add calendars, specify prefixes for each calendar, and override the event summaries if desired. +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: -**Features** +- Add calendars +- Specify prefixes for each calendar +- Override event summaries if desired -Merge multiple calendars into a single calendar -Specify prefixes for each calendar -Override event summaries if desired -Generate a unique URL for the merged calendar -Update the merged calendar every hour using a cron job +The application also generates a unique URL for the merged calendar and updates it every hour using a cron job. -**Requirements** +## Features -Node.js (version 14 or higher) -Express.js (version 4 or higher) -ical (version 0.7 or higher) -axios (version 0.21 or higher) -cron (version 1.8 or higher) +- 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 -**Installation** +## Requirements -Clone the repository -Install the dependencies using npm install -Start the server using npm start +- [Node.js](https://nodejs.org/) (version 14 or higher) +- [npm](https://www.npmjs.com/) (included with Node.js) -**Key Terms** +## Installation -Calendar Feed: This typically refers to a data format that allows users to subscribe to calendar events. It can be in formats like iCalendar (.ics) or other web-based formats. +1. Clone the repository: + ```bash + git clone https://github.com/your-repository-url + ``` -Webcal: This is a URL scheme that allows users to subscribe to calendar feeds. It is often used in conjunction with iCalendar files and is recognized by many calendar applications. +2. Install the dependencies: + ```bash + npm install + ``` -CalDAV: This is an Internet standard that allows clients to access and manage calendar data on a remote server. It is often used for syncing calendars across different devices and platforms. +3. Start the server: + ```bash + npm start + ``` -Prefix: In this context, a prefix might refer to a string that is added to the beginning of a calendar feed URL or identifier. It can help in organizing or categorizing different calendar feeds. +## Key Terms -Merged Feed: This refers to a single calendar feed that combines multiple calendar sources into one. It allows users to view events from different calendars in a unified manner. +- **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** +## Usage -Open a web browser and navigate to http://localhost:3000 -Click on the "Add Calendar" button to add a new calendar -Enter the calendar URL, prefix, and override options as desired -Click on the "Merge Calendars" button to generate the merged calendar -The merged calendar URL will be displayed on the page +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** +## 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 +- `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** +## Contributing -Contributions are welcome! If you'd like to contribute to the project, please fork the repository and submit a pull request. +Contributions are welcome! If you'd like to contribute: + +1. Fork the repository. +2. Make your changes. +3. Submit a pull request. + +---