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
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.
---