docs: add readme

This commit is contained in:
w33ble
2026-01-11 20:19:59 -07:00
parent c4ad0e7dda
commit 6d22f8860f

71
README.md Normal file
View File

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