ICS Calendar Server
Node.js backend calendar app
ICS Calendar Server
Node.js backend calendar app
Overview
ICS Calendar Server is a Node.js backend application that enables creation of .ics/iCal calendar events and invites for platforms such as MS Outlook and Mail for Mac. It processes REST requests for various event types (sickness, vacation) and supports bulk event generation and calendar integration.
Features
- Generate calendar events in bulk and export as .ics files.
- Lookup employee absences and produce event lists.
- Structured as three microservices: server, ICS module, and XDB database with StatusHandler middleware.
- Functional programming with ES6, well-linted, and commented.
- Built-in tests with Mocha/Chai and coverage via Istanbul/nyc.
- Lightweight REST API endpoints for generating, downloading, and querying calendar events.
Tech Summary
- Node.js, JavaScript (ES6)
- Express.js server and REST API
- Microservices architecture (server, ICS, XDB)
- Functional programming, error handling
- Testing: Mocha, Chai, Istanbul/nyc
- Utilities: own-build x-utils, simple-q, Moment.js, Lodash
Outcome
A robust and tested backend service for calendar management, allowing organizations to automate the generation and distribution of calendar events. Easily extensible and deployable on platforms like Heroku for rapid integration.
![[1] ICS Calendar Server, Node.js backend calendar app](/projects/ics-calendar/ics-calendar-screen-featured.jpg)
![[1] ICS Calendar Server, Node.js backend calendar app](/projects/ics-calendar/ics-calendar-screen-featured-2.jpg)
![[2] ICS Calendar Server, Node.js backend calendar app](/projects/ics-calendar/ics-calendar-welcome.jpg)
![[2] ICS Calendar Server, Node.js backend calendar app](/projects/ics-calendar/ics-calendar-create-calendar.jpg)
![[3] ICS Calendar Server, Node.js backend calendar app](/projects/ics-calendar/ics-calendar-download.jpg)
![[3] ICS Calendar Server, Node.js backend calendar app](/projects/ics-calendar/ics-calendar-members.jpg)
![[4] ICS Calendar Server, Node.js backend calendar app](/projects/ics-calendar/ics-calendar-absences.jpg)
![[4] ICS Calendar Server, Node.js backend calendar app](/projects/ics-calendar/ics-calendar-coverage.jpg)