A calendar viewer application based on fiscal or business periods, allowing you to manage calendars based on time frames that differ from the standard calendar year.
- Period-based calendar display with each period spanning 12 months (1 year), divided into first and second halves
- Side-by-side display of first and second half calendars
- Customizable start year/month for the first period
- Period navigation (previous and next period)
- Date highlighting features:
- Current day (highlighted in green)
- First day of month (highlighted in blue)
- Past dates (displayed in lighter color)
- Holidays (displayed in red with tooltip showing holiday name)
- React - UI library
- TypeScript - Typed JavaScript
- Tailwind CSS - Styling
- Vite - Build tool
- Vitest - Testing framework
- Storybook - UI component development environment
- Node.js v18 or higher
- pnpm v8 or higher
# Clone the repository
git clone https://github.com/okonomi/period-calendar.git
cd period-calendar
# Install dependencies
pnpm installStart the development server with hot module replacement:
pnpm devRun all linting checks in parallel:
pnpm lintRun TypeScript type checking:
pnpm lint:tscCheck code formatting with Prettier:
pnpm lint:prettierRun Biome linting checks:
pnpm lint:biomeFix all linting and formatting issues automatically:
pnpm lint-fixFix Prettier formatting issues:
pnpm lint-fix:prettierFix Biome linting issues:
pnpm lint-fix:biomeRun the test suite:
pnpm testLaunch Storybook for component development:
pnpm storybookBuild Storybook for static deployment:
pnpm gen:storybookRun all generation commands:
pnpm genCreate a production build:
pnpm buildPreview the production build locally:
pnpm preview