Skip to content

Latest commit

 

History

History
89 lines (65 loc) · 10.8 KB

README.md

File metadata and controls

89 lines (65 loc) · 10.8 KB

Box Compatibility Project

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.

Project Overview

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").

Object Kinds

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.

Box Compatibliy

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)

Legend

❌ No fit at all
🔘 Bad fit (<70%% surface utilization)
✔️ Good fit (>70%% fit)

Adding a New Box

To contribute to the Box Compatibility Project and add a new box to the database, please follow these steps:

  1. Open the data.json file in the repository.
  2. 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
    }
    
  3. Replace the values with the appropriate information for the new box.
  4. Ensure the dimensions (inner_x, inner_y, outer_x, outer_y) are accurate and in the appropriate units.
  5. Save the changes to the data.json file.
  6. 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.

Rendering the Data

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:

  1. Make sure you have Python installed on your machine.

  2. Open a terminal or command prompt and navigate to the project's directory.

  3. Run the render.py script with the desired parameters. By default it would render the data.json to markdown as output.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

  1. 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.

License

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.