Giter VIP home page Giter VIP logo

madam3d's Introduction

MaDam3D

Deploy website


Manage your 3D printer files from your browser.

๐Ÿ‘‰ GIVE IT A TRY ๐Ÿ‘ˆ

screenshot MaDam3D is a project to view, manage, organize and share your .stl .3mf and .gcode files.

The idea was inspired by van_dam but uses only the web browser and its capabilities to do everything. You can clone and build this repo yourself, but it is the same version that is the current main branch.


The Client

You can try it out at madam3D but you will need a supported browser caniuse

This project is still very much a work in progress but the basic functionality exists.

How to use

Open the app in your browser and navigate to the folder page, from there you can add folders from your native file system.

When you add a folder it will recursively scan your drive from that point, so if you have a lot of nested files it might take some time

There are some folder/directories that can't be opened from the browser and this will differ depending from which os and browser you are using, on windows the c: or Program Files for example.

The app makes the assumption (at the moment) that each folder is a model, and the files within are its parts.

Folder Features:

  • Filter models with the search box at top of page.

Server

// TODO

Serves the client app and handles the sharing of your projects with others.


See the individual package readme.md files for how each package works.

Folder/App structure is as follows:

root/
 |โ”€โ”€ packages/
 |   โ””โ”€โ”€  client/
 |   โ””โ”€โ”€ server/

Getting started

You will need Nodejs installed on your computer(it is built and tested with ^16).

To run this project locally, you will need pnpm to manage the dependencies/workspaces.

# install pnpm as a global dependency
npx pnpm add -g pnpm
# install the dependencies
pnpm i
# start the dev servers
# It will start the client and server apps.
pnpm dev

In your browser check:

http://localhost:3000 for the client

http://localhost:3001 for the server

The desktop app should start.

Testing

pnpm test

madam3d's People

Contributors

dependabot[bot] avatar philstenning avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

madam3d's Issues

Folders:

Display model parts count on button.

Page scrolling with content

When the main div fills with content it causes the main ui to scroll so that you can no longer see any of the icons with out scrolling back up to the top of the page.

As this is a web app it needs to fix the main navigation/Ui to the top of the page.

useEffect with no cleanup throws error.

Describe the bug
react_devtools_backend.js:4061 Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in a useEffect cleanup function.
at Overlay (http://localhost:3000/src/components/stlCard/StlCard.tsx?t=1643883554678:65:3)
at div
at StlCard (http://localhost:3000/src/components/stlCard/StlCard.tsx?t=1643883554678:27:3)

To Reproduce
select a model
deselect that model

Add some sample models and parts.

Samples are needed to test using cypress, we can't open the file dialog during the testing phase because of the permissions needed.

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.