Skip to content

Calendar for accountants with real-time data extraction from spreadsheet files

License

Notifications You must be signed in to change notification settings

Andrew15-5/astral-calendar

Repository files navigation

astral-calendar

Description

Calendar for accountants.

Features:

  • View events and their deadlines.
  • Filter by year, quarter and month.
  • Interactive calendars (hover and click).
  • Hot-load spreadsheet data (auto extraction of data from spreadsheet files in data/).

Usage

Notes:
  • You have to add spreadsheet file(s) to project (although it works without them).
  • You can get an example spreadsheet file from data branch in data/.
  • For convenience alias j=just can be used when using just command.
    • To install just with cargo (Rust package manager) run cargo install just.

Production (not optimized)

For a quick production-like test using just and pnpm:

just i # Install
just b # Build
just st # Start

pnpm (default):

pnpm install --frozen-lockfile
just b
NODE_ENV=production pnpm install --frozen-lockfile
just st # files are in build/

yarn:

yarn
yarn build
NODE_ENV=production yarn --frozen-lockfile
yarn start

npm:

npm install
npm run build
NODE_ENV=production npm ci
npm start

Development

just i # Install all dependencies
just   # Watch TS & HBS files for server
just c # Watch TS & SASS files for client

Environment variables

  • PORT — port on which the server will be started (default: 3000)
  • DATA_DIR — directory where all the spreadsheet files go (default: data)
    • Automatically created (with 775) if missing.
  • SPREADSHEET_TO_CSV_DOCKER_IMAGE (default: andrew1555/ssconvert)
    • Spreadsheet file's content is passed to stdin of container and CSV data is received in stdout.
  • SPREADSHEET_FILE_REGEX_PATTERN — JavaScript regex pattern (default: .(ods|gnumeric|xlsx?)$)
    • Most popular formats are included which can be processed by ssconvert.
  • SPREADSHEET_FILE_REGEX_FLAGS — JavaScript regex flags (default: i)
    • Upper and lower case letters in the spreadsheet file format are treated as identical.
  • SPREADSHEET_COLUMN_NAME — column number with event name (default: 1)
  • SPREADSHEET_COLUMN_BEGIN — column number with event begin date (default: 6)
  • SPREADSHEET_COLUMN_END — column number with event end date (default: 7)

About

Calendar for accountants with real-time data extraction from spreadsheet files

Resources

License

Stars

Watchers

Forks