Skip to content

Commit ad2902a

Browse files
Update README.md with modern styling and project details
1 parent 2333beb commit ad2902a

1 file changed

Lines changed: 201 additions & 2 deletions

File tree

README.md

Lines changed: 201 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,201 @@
1-
# FlashForgeWebUI
2-
The WebUI from FlashForgeUI - Standalone. Designed for devices with limited resources
1+
<div align="center">
2+
<h1>FlashForge WebUI</h1>
3+
<p>Standalone WebUI for FlashForge 3D Printers</p>
4+
</div>
5+
6+
<p align="center">
7+
<img src="https://img.shields.io/badge/Node.js-20%2B-green?style=for-the-badge&logo=node.js&logoColor=white">
8+
<img src="https://img.shields.io/badge/License-MIT-blue?style=for-the-badge">
9+
<img src="https://img.shields.io/badge/Platforms-Win%20%7C%20macOS%20%7C%20Linux-blue?style=for-the-badge">
10+
</p>
11+
12+
<div align="center">
13+
<h2>Overview</h2>
14+
</div>
15+
16+
<div align="center">
17+
18+
FlashForge WebUI is a lightweight, standalone web interface for monitoring and controlling FlashForge 3D printers. Designed as a cross-platform alternative to desktop applications, it runs efficiently on low-spec hardware like the Raspberry Pi, making it perfect for dedicated print servers. It supports simultaneous connections to multiple printers, real-time camera streaming, and integrates seamlessly with Spoolman for filament management.
19+
20+
</div>
21+
22+
<div align="center">
23+
<h2>Core Features</h2>
24+
</div>
25+
26+
<div align="center">
27+
<table>
28+
<tr>
29+
<th>Feature</th>
30+
<th>Description</th>
31+
</tr>
32+
<tr>
33+
<td>Multi-Printer Support</td>
34+
<td>Connect to and manage multiple printers simultaneously with isolated contexts</td>
35+
</tr>
36+
<tr>
37+
<td>Live Monitoring</td>
38+
<td>Real-time tracking of temperatures, print progress, and printer status</td>
39+
</tr>
40+
<tr>
41+
<td>Camera Streaming</td>
42+
<td>Low-latency video monitoring with RTSP and MJPEG support</td>
43+
</tr>
44+
<tr>
45+
<td>Printer Control</td>
46+
<td>Full control over print jobs (pause, resume, stop) and printer settings</td>
47+
</tr>
48+
<tr>
49+
<td>Spoolman Integration</td>
50+
<td>Native integration for filament inventory and usage tracking</td>
51+
</tr>
52+
<tr>
53+
<td>Responsive Dashboard</td>
54+
<td>Customizable grid-based UI that works on desktop, tablet, and mobile</td>
55+
</tr>
56+
<tr>
57+
<td>Cross-Platform</td>
58+
<td>Native binaries for Windows, macOS, and Linux (x64, ARM64, ARMv7)</td>
59+
</tr>
60+
</table>
61+
</div>
62+
63+
<div align="center">
64+
<h2>Supported Printers</h2>
65+
</div>
66+
67+
<div align="center">
68+
69+
FlashForge WebUI supports a wide range of FlashForge printers through its adaptable backend architecture.
70+
71+
</div>
72+
73+
<div align="center">
74+
<table>
75+
<tr>
76+
<th>Series</th>
77+
<th>Models</th>
78+
<th>API Type</th>
79+
</tr>
80+
<tr>
81+
<td>Adventurer 5M</td>
82+
<td>Adventurer 5M, 5M Pro</td>
83+
<td>New (FiveMClient)</td>
84+
</tr>
85+
<tr>
86+
<td>AD5X</td>
87+
<td>Adventurer 5M X Series</td>
88+
<td>New (AD5X API)</td>
89+
</tr>
90+
<tr>
91+
<td>Legacy</td>
92+
<td>Older FlashForge Models</td>
93+
<td>Legacy (FlashForgeClient)</td>
94+
</tr>
95+
</table>
96+
</div>
97+
98+
<div align="center">
99+
<h2>Installation</h2>
100+
</div>
101+
102+
<div align="center">
103+
104+
**Prerequisites**
105+
106+
</div>
107+
108+
* Node.js 20.0.0 or higher (for source installation)
109+
* Network connection to your printer(s)
110+
111+
<div align="center">
112+
113+
**Running from Source**
114+
115+
</div>
116+
117+
```bash
118+
# Clone the repository
119+
git clone https://github.com/Parallel-7/flashforge-webui.git
120+
cd flashforge-webui
121+
122+
# Install dependencies
123+
npm install
124+
125+
# Build the application
126+
npm run build
127+
128+
# Start the server
129+
npm start
130+
```
131+
132+
<div align="center">
133+
<h2>Configuration</h2>
134+
</div>
135+
136+
<div align="center">
137+
138+
The application automatically creates a configuration file at `data/config.json` on first run. You can modify this file to customize your experience.
139+
140+
</div>
141+
142+
```json
143+
{
144+
"WebUIEnabled": true,
145+
"WebUIPort": 3000,
146+
"WebUIPassword": "changeme",
147+
"WebUIPasswordRequired": true,
148+
"SpoolmanEnabled": false,
149+
"SpoolmanServerUrl": "http://your-spoolman-instance:7912",
150+
"CameraProxyPort": 8181
151+
}
152+
```
153+
154+
<div align="center">
155+
<h2>Development</h2>
156+
</div>
157+
158+
```bash
159+
# Start development server with hot-reload
160+
npm run dev
161+
162+
# Build for specific platform
163+
npm run build:linux
164+
npm run build:win
165+
npm run build:mac
166+
```
167+
168+
<div align="center">
169+
<h2>License</h2>
170+
</div>
171+
172+
<div align="center">
173+
174+
MIT License
175+
176+
</div>
177+
178+
<div align="center">
179+
<h2>Acknowledgments</h2>
180+
</div>
181+
182+
<div align="center">
183+
<table>
184+
<tr>
185+
<th>Project</th>
186+
<th>Role</th>
187+
</tr>
188+
<tr>
189+
<td>@ghosttypes/ff-api</td>
190+
<td>FlashForge API Client Library</td>
191+
</tr>
192+
<tr>
193+
<td>FlashForgeUI-Electron</td>
194+
<td>Original Desktop Application</td>
195+
</tr>
196+
<tr>
197+
<td>Spoolman</td>
198+
<td>Filament Management</td>
199+
</tr>
200+
</table>
201+
</div>

0 commit comments

Comments
 (0)