Giter Site home page Giter Site logo

mehanix / arcada Goto Github PK

View Code? Open in Web Editor NEW
56.0 2.0 17.0 6.14 MB

๐Ÿ“ react & pixi.js interior design software / floor plan creator

Home Page: https://arcada.nicoleta.cc

License: Apache License 2.0

TypeScript 97.82% HTML 1.74% CSS 0.44%
pixijs reactjs expressjs floor-plan-mapper floor-planning floorplan floorplan-construction mantine mongodb mongoose

arcada's Introduction

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

arcada's People

Contributors

mehanix avatar ssakibhossain10 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

arcada's Issues

Keep notification pop-ups with tool instructions visible at all times

When I pressed on the "draw walls" button, a notification popped up explaining how to use this tool. However, after clicking around for a bit, the notification disappeared and I forgot what I had to do to exit the tool ๐Ÿ˜…

I think it would be more helpful to keep this notification (or some similar info display) visible at all times while using the tool, so the user doesn't have to remember what was initially written on the popup.

image

Relationship between WallNodes and WallnodeLinks

Hi

First of all: thank you so much to make this publicly available!
When I was looking through the setup, I stumbled on this:

"wallNodes": [
{ "id": 1, "x": 2200, "y": 2300 },
{ "id": 2, "x": 2720, "y": 2300 },
{ "id": 3, "x": 2720, "y": 2600 },
{ "id": 4, "x": 2400, "y": 2770 },
{ "id": 5, "x": 2470, "y": 2300 },
{ "id": 6, "x": 2470, "y": 2500 }
],
"wallNodeLinks": [
[1, [4, 5]],
[2, [3, 5]],
[3, [4]],
[4, []],
[5, [6]],
[6, []]
]

Could you explain the relationship between the wallnodes and the wallnodelinks please?
I drew room, with multiple angled walls, but now I am trying to figure out what the link is between wallnodelinks and wallnodes.

thanks!

Project license?

Hi there ๐Ÿ‘‹ could you clarify the license terms under which this project is published? I couldn't find anything in the usual locations (package.json or LICENSE.md). Thanks in advance!

Missing constant variable import

Getting an error when trying to run this project.

In the Handle.ts file showing Cannot find name 'WALL_THICKNESS'

Already I fixed it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.