From 6d22f8860f5d8339f90576429f09b1c361b2ec03 Mon Sep 17 00:00:00 2001 From: w33ble Date: Sun, 11 Jan 2026 20:19:59 -0700 Subject: [PATCH] docs: add readme --- README.md | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..57061d1 --- /dev/null +++ b/README.md @@ -0,0 +1,71 @@ +# Gridfinity Calculator + +A fast, lightweight web tool for planning [Gridfinity](https://gridfinity.xyz/) modular storage layouts. Calculate exactly how many grids fit in your drawer, determine the maximum bin height, and identify remaining gaps for a perfect fit. + +## Features + +- **Unit Conversion**: Seamlessly switch between Millimeters and Inches with automatic value conversion. +- **Precision Calculation**: Accurate grid counts (including fractional totals) based on standard 42mm Gridfinity specifications. +- **Height Planning**: Calculates maximum bin units (U) based on drawer depth and baseplate thickness. +- **Spec Overrides**: Customize grid size, unit height, and base thickness for specialized requirements. +- **Responsive Design**: Clean, modern interface built with Tailwind CSS. + +## Getting Started + +### Prerequisites + +- [Node.js](https://nodejs.org/) (Latest LTS recommended) +- [pnpm](https://pnpm.io/) (Recommended package manager) + +### Installation + +```bash +# Install dependencies +pnpm install +``` + +### Development + +Start the development server with Hot Module Replacement (HMR): + +```bash +pnpm run dev +``` + +### Testing + +Run unit tests for the calculation engine and utility functions: + +```bash +# Run tests once +pnpm run test +``` + +### Building + +Build the project for production. The output will be in the `dist/` directory: + +```bash +pnpm run build +``` + +### Deployment + +This project is configured for deployment to **Firebase Hosting**: + +```bash +# Deploy to Firebase (requires Firebase login) +pnpm run deploy +``` + +## Tech Stack + +- **Build Tool**: [Vite](https://vitejs.dev/) +- **Language**: [TypeScript](https://www.typescriptlang.org/) +- **Styling**: [Tailwind CSS](https://tailwindcss.com/) +- **Testing**: [Vitest](https://vitest.dev/) +- **Hosting**: [Firebase](https://firebase.google.com/) + +--- + +*Based on the Gridfinity modular storage system by Zach Freedman.*