mehanix / arcada

📐 react & pixi.js interior design software / floor plan creator
https://arcada.nicoleta.cc
Apache License 2.0
89 stars 24 forks source link
express expressjs floor-plan floor-plan-mapper floor-planning floorplan floorplan-construction good-first-pr good-first-project help-wanted javascript mantine mongodb mongoose nodejs pixijs react reactjs room-planner zustand

Introduction

Even had to redesign a room, a floor, or your entire house, and you spent hours drawing floor plans by hand, on graph paper, trying to make sure your sofa will fit next to the dresser? I certainly have, and it's a frustrating experience. I think we can do better than that.

As the vast majority of floor planner apps are available as part of a paid service, or too complicated to use for my needs, I decided to write my own. Enter Arcada, an open-source floor planner app.

React Pixi.JS Express.js MongoDB

Features

👷‍♀️ Add walls

⚒️ Edit walls

🛋️ Add/edit furniture

🚪 Add doors/windows

📏 Measure tool

🌟 Accurate to scale

🌟 Multiple floor support

🌟 Print your designs

🌟 Save/load support

🌟 Component library with plenty of options

🌟 Cross-platform

Tech stack and docs

Client built using React, Pixi.js, Zustand, with Mantine as the component library for the UI. The floor plan engine is custom built.

Server-side powered by Express.js, using MongoDB with Mongoose as ODM.

server - source code view - (New!) Documentation

Quick setup

Clone this repo and the arcada-backend repo. Run the following:

npm i 
npm run start

Launch the back-end using node app.js.

Demo

If you want to run the app for yourself the easiest way to to is to use the following docker-compose setup. Have fun!

Demo - arcada.nicoleta.cc