update README.md to use markdown

This commit is contained in:
Ryan Mwangi 2024-10-17 12:07:19 +03:00
parent 0ac93d8eef
commit 18971071b7
1 changed files with 53 additions and 37 deletions

View File

@ -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 The application also generates a unique URL for the merged calendar and updates it every hour using a cron job.
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
**Requirements** ## Features
Node.js (version 14 or higher) - Merge multiple calendars into a single calendar
Express.js (version 4 or higher) - Specify prefixes for each calendar
ical (version 0.7 or higher) - Optionally override event summaries
axios (version 0.21 or higher) - Generate a unique URL for the merged calendar
cron (version 1.8 or higher) - Automatically update the merged calendar every hour
**Installation** ## Requirements
Clone the repository - [Node.js](https://nodejs.org/) (version 14 or higher)
Install the dependencies using npm install - [npm](https://www.npmjs.com/) (included with Node.js)
Start the server using npm start
**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 1. Open a web browser and navigate to `http://localhost:3000`.
Click on the "Add Calendar" button to add a new calendar 2. Click the **Add Calendar** button to add a new calendar.
Enter the calendar URL, prefix, and override options as desired 3. Enter the Link Group Name, calendar URL, prefix, and override options (if needed).
Click on the "Merge Calendars" button to generate the merged calendar 4. Click the **Merge Calendars** button to generate the merged calendar.
The merged calendar URL will be displayed on the page 5. The merged calendar URL will be displayed on the page.
**API Endpoints** ## API Endpoints
GET /: Returns the index.html file - `GET /`: Returns the `index.html` file.
POST /merge: Merges the calendars and returns the merged calendar URL - `POST /merge`: Merges the calendars and returns the merged calendar URL.
GET /:filename: Returns the merged calendar file - `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.
---