docs: add readme
This commit is contained in:
71
README.md
Normal file
71
README.md
Normal 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.*
|
||||||
Reference in New Issue
Block a user