The Box Compatibility Project aims to collect and analyze data on various types of boxes, focusing on their compatibility with different storage systems. This README file provides an overview of the project and its objectives.
The goal of the Box Compatibility Project is to create a comprehensive database of boxes, along with their dimensions, features, and compatibility information with different storage systems such as shelves, cabinets, and containers. By gathering this data, we aim to assist individuals and businesses in finding the most suitable boxes for their storage needs and ensuring efficient utilization of space.
The results can be found at orglikea.pro including futher functionalities, bellow in this file or can be rendered by your own (see "Rendering the Data").
There are different kinds of categories which are defined by the following constraints.
- A Container is an object that is filled from above. It does not have overlapping compartments. A typical example of a container is an open cardboard box.
- A Shelf is characterized by several compartments on top of each other, which are accessible from the front.
- A Drawer cabinet is similar to a shelf, but is also accessed from "above".
Important for all elements is that always the full dimensions are taken. For example, Ikea Kallax has a drawer insert that can ONLY be used with the rule. Here the outer dimensions are those of Kallax and the inner dimensions are those of the drawer.
Outer\Inner | Generic EuroBox 60x40 |
Generic Eurobox 40x30 |
Generic OrgPro |
Generic Gridfinity |
Ikea Pappis |
Allit EuroPlus Flex |
Generic Systainer |
Ikea Rensare large |
Ikea Rensare small |
---|---|---|---|---|---|---|---|---|---|
Generic EuroBox 60x40 Container |
❌ | 🔘 ~57% 1 (1x1) |
✔️ ~89% 8 (4x2) |
✔️ ~93% 117 (13x9) |
✔️ ~84% 2 (2x1) |
🔘 ~51% 1 (1x1) |
🔘 ~55% 1 (1x1) |
✔️ ~81% 2 (2x1) |
✔️ ~81% 4 (2x2) |
Generic Eurobox 40x30 Container |
❌ | ❌ | ✔️ ~94% 4 (2x2) |
✔️ ~91% 54 (9x6) |
✔️ ~88% 1 (1x1) |
❌ | ❌ | ✔️ ~85% 1 (1x1) |
✔️ ~85% 2 (2x1) |
Generic OrgPro Container |
❌ | ❌ | ❌ | ✔️ ~96% 12 (4x3) |
❌ | ❌ | ❌ | ❌ | ❌ |
Generic Gridfinity Container |
❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Ikea Ivar 80x30 Shelf |
❌ | ✔️ ~100% 2 (2x1) |
✔️ ~78% 8 (4x2) |
✔️ ~93% 133 (19x7) |
✔️ ~74% 2 (2x1) |
✔️ ~90% 2 (2x1) |
✔️ ~97% 2 (2x1) |
✔️ ~71% 2 (2x1) |
✔️ ~71% 4 (4x1) |
Ikea Ivar 80x50 Shelf |
🔘 ~60% 1 (1x1) |
🔘 ~60% 2 (2x1) |
✔️ ~70% 12 (6x2) |
✔️ ~96% 228 (19x12) |
🔘 ~66% 3 (3x1) |
🔘 ~54% 2 (2x1) |
🔘 ~58% 2 (2x1) |
✔️ ~85% 4 (2x2) |
✔️ ~85% 8 (4x2) |
Ikea Ivar 80x50 Ext. Shelf |
✔️ ~100% 2 (2x1) |
✔️ ~100% 4 (2x2) |
✔️ ~88% 18 (6x3) |
✔️ ~93% 266 (19x14) |
✔️ ~74% 4 (2x2) |
✔️ ~90% 4 (2x2) |
✔️ ~97% 4 (2x2) |
✔️ ~71% 4 (2x2) |
✔️ ~80% 9 (3x3) |
Ikea Pappis Container |
❌ | ❌ | 🔘 ~56% 2 (2x1) |
✔️ ~96% 48 (8x6) |
❌ | ❌ | ❌ | ❌ | 🔘 ~51% 1 (1x1) |
Ikea Billy Shelf |
❌ | ❌ | ✔️ ~91% 8 (4x2) |
✔️ ~88% 108 (18x6) |
✔️ ~86% 2 (2x1) |
❌ | ❌ | ✔️ ~83% 2 (2x1) |
✔️ ~83% 4 (4x1) |
Allit EuroPlus Flex Container |
❌ | ❌ | 🔘 ~55% 2 (2x1) |
✔️ ~94% 48 (8x6) |
❌ | ❌ | ❌ | ❌ | 🔘 ~50% 1 (1x1) |
Ikea Eket 1x1 Shelf |
❌ | ❌ | 🔘 ~66% 2 (2x1) |
✔️ ~83% 35 (7x5) |
❌ | ❌ | ❌ | ❌ | 🔘 ~60% 1 (1x1) |
Ikea Kallax 1x1 Shelf |
❌ | ❌ | ✔️ ~72% 4 (2x2) |
✔️ ~93% 72 (8x9) |
🔘 ~68% 1 (1x1) |
✔️ ~82% 1 (1x1) |
❌ | 🔘 ~65% 1 (1x1) |
🔘 ~65% 2 (1x2) |
Ikea Kallax drawer Drawer |
❌ | ❌ | 🔘 ~56% 2 (2x1) |
✔️ ~84% 42 (7x6) |
❌ | ❌ | ❌ | ❌ | 🔘 ~51% 1 (1x1) |
Ikea Alex drawer Drawer |
❌ | ❌ | 🔘 ~60% 4 (4x1) |
✔️ ~91% 84 (12x7) |
🔘 ~57% 1 (1x1) |
🔘 ~69% 1 (1x1) |
✔️ ~75% 1 (1x1) |
🔘 ~55% 1 (1x1) |
✔️ ~82% 3 (3x1) |
Generic Systainer Container |
❌ | ❌ | 🔘 ~50% 2 (2x1) |
✔️ ~87% 48 (8x6) |
✔️ ~95% 1 (1x1) |
❌ | ❌ | ✔️ ~91% 1 (1x1) |
✔️ ~91% 2 (2x1) |
Ikea Rensare large Container |
❌ | ❌ | 🔘 ~56% 2 (1x2) |
✔️ ~96% 48 (6x8) |
❌ | ❌ | ❌ | ❌ | 🔘 ~51% 1 (1x1) |
Ikea Rensare small Container |
❌ | ❌ | 🔘 ~56% 1 (1x1) |
✔️ ~97% 24 (6x4) |
❌ | ❌ | ❌ | ❌ | ❌ |
❌ No fit at all
🔘 Bad fit (<70%% surface utilization)
✔️ Good fit (>70%% fit)
To contribute to the Box Compatibility Project and add a new box to the database, please follow these steps:
- Open the
data.json
file in the repository. - Add the information of the new box in the following format:
{ "name": "Box Name", "vendor": "Vendor Name", "type": "Box Type: Container or Shelf", "link": "Link to More Information", "inner_x": 57, "inner_y": 37, "outer_x": 60, "outer_y": 40 }
- Replace the values with the appropriate information for the new box.
- Ensure the dimensions (
inner_x
,inner_y
,outer_x
,outer_y
) are accurate and in the appropriate units. - Save the changes to the
data.json
file. - Submit a merge request with your changes.
Once your contribution is accepted and merged, the new box and its compatibility information will be added to the project's database.
To render the box compatibility data into HTML or Markdown format, you can use the render.py
script provided in the repository. Follow the steps below:
-
Make sure you have Python installed on your machine.
-
Open a terminal or command prompt and navigate to the project's directory.
-
Run the
render.py
script with the desired parameters. By default it would render thedata.json
to markdown asoutput.md
. If you like you can change the behavior for example to render the data into HTML format, use the following command:
python render.py --format html --output output.html
- The script will process the data and generate the output file in the specified format (HTML or Markdown).
You can now open the rendered file using a web browser or text editor to view the formatted box compatibility information.
The Box Compatibility Project is released under the MIT License. By contributing to this project, you agree to grant the project maintainers the right to distribute your contributions under this license.