Skip to content

Commit 90cdcff

Browse files
authored
Merge pull request #3 from Parallel-7/docs-modern-readme
Modernize README.md with detailed project info and styling
2 parents 2333beb + 63d7f80 commit 90cdcff

1 file changed

Lines changed: 217 additions & 2 deletions

File tree

README.md

Lines changed: 217 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,217 @@
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 (HTTP API)</td>
84+
</tr>
85+
<tr>
86+
<td>AD5X</td>
87+
<td>AD5X</td>
88+
<td>New (HTTP 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+
<h3>Prerequisites</h3>
104+
</div>
105+
106+
<div align="center">
107+
<table>
108+
<tr>
109+
<th>Requirement</th>
110+
<th>Details</th>
111+
</tr>
112+
<tr>
113+
<td>Node.js</td>
114+
<td>Version 20.0.0 or higher (for source installation)</td>
115+
</tr>
116+
<tr>
117+
<td>Network</td>
118+
<td>Connection to your printer(s)</td>
119+
</tr>
120+
</table>
121+
</div>
122+
123+
<div align="center">
124+
125+
**Running from Source**
126+
127+
</div>
128+
129+
```bash
130+
# Clone the repository
131+
git clone https://github.com/Parallel-7/flashforge-webui.git
132+
cd flashforge-webui
133+
134+
# Install dependencies
135+
npm install
136+
137+
# Build the application
138+
npm run build
139+
140+
# Start the server
141+
npm start
142+
```
143+
144+
<div align="center">
145+
<h2>Configuration</h2>
146+
</div>
147+
148+
<div align="center">
149+
150+
The application automatically creates a configuration file at `data/config.json` on first run. You can modify this file to customize your experience.
151+
152+
</div>
153+
154+
```json
155+
{
156+
"WebUIEnabled": true,
157+
"WebUIPort": 3000,
158+
"WebUIPassword": "changeme",
159+
"WebUIPasswordRequired": true,
160+
"SpoolmanEnabled": false,
161+
"SpoolmanServerUrl": "http://your-spoolman-instance:7912",
162+
"CameraProxyPort": 8181
163+
}
164+
```
165+
166+
<div align="center">
167+
<h2>Development</h2>
168+
</div>
169+
170+
```bash
171+
# Start development server with hot-reload
172+
npm run dev
173+
174+
# Build for specific platform
175+
npm run build:linux
176+
npm run build:win
177+
npm run build:mac
178+
```
179+
180+
<div align="center">
181+
<h2>License</h2>
182+
</div>
183+
184+
<div align="center">
185+
186+
MIT License
187+
188+
</div>
189+
190+
<div align="center">
191+
<h2>Acknowledgments</h2>
192+
</div>
193+
194+
<div align="center">
195+
<table>
196+
<tr>
197+
<th>Project</th>
198+
<th>Role</th>
199+
</tr>
200+
<tr>
201+
<td><a href="https://github.com/GhostTypes/ff-5mp-api-ts">ff-5mp-api-ts</a></td>
202+
<td>FlashForge API Client Library</td>
203+
</tr>
204+
<tr>
205+
<td><a href="https://github.com/Parallel-7/slicer-meta">slicer-meta</a></td>
206+
<td>Printer Metadata & Model Utilities</td>
207+
</tr>
208+
<tr>
209+
<td>FlashForgeUI-Electron</td>
210+
<td>Original Desktop Application</td>
211+
</tr>
212+
<tr>
213+
<td>Spoolman</td>
214+
<td>Filament Management</td>
215+
</tr>
216+
</table>
217+
</div>

0 commit comments

Comments
 (0)