diff --git a/index.js b/index.js index 2d37e90..33d38fd 100644 --- a/index.js +++ b/index.js @@ -52,8 +52,10 @@ const wsMessageRateLimiter = new RateLimiterMemory({ duration: 1, }); +const path = require('path'); const app = express(); const port = 3000; +app.use(express.static(path.join(__dirname, 'public'))); app.use(json()); // Rate limiting middleware for HTTP requests @@ -646,9 +648,6 @@ async function authenticateToken(req, res, next) { } } -app.get('/', (req, res) => { - res.send('Hello World!'); -}); app.post('/login', async (req, res) => { const { email, password } = req.body; diff --git a/public/app/index.html b/public/app/index.html new file mode 100644 index 0000000..77962f3 --- /dev/null +++ b/public/app/index.html @@ -0,0 +1,260 @@ + + +
+ + ++ We're building the BlindMaster web experience so you can control + your blinds from any browser — no install required. Stay tuned. +
+ + ++ BlindMaster brings real-time remote control, intelligent scheduling, and + seamless IoT integration to your motorized window blinds — from anywhere. +
+ +Why BlindMaster
+Adjust any blind instantly via WebSocket — sub-second response from your phone to your window, anywhere in the world.
+Set automated cron-based schedules per blind or per group. Wake up to light gradually filling the room — automatically.
+Group multiple blinds and control them together. One tap to raise every blind in a room simultaneously.
+JWT authentication, Argon2 password hashing, TLS everywhere, and multi-layer rate limiting — your home stays yours.
+A guided multi-stage calibration flow maps encoder ticks to your exact blind travel — precise positioning every time.
+Built-in MAX17048 fuel gauge monitoring with low-battery alerts. Dynamic CPU scaling and servo power gating extend runtime.
+Architecture
+BlindMaster is a full-stack IoT platform — every layer is purpose-built to work together.
+iOS & Android mobile app. Time-based theming. Real-time slider control. Schedule management.
+Central relay & API. PostgreSQL + MongoDB. Agenda scheduling. Email via AWS SES.
+FreeRTOS firmware. BLE provisioning. Servo + encoder control. NVS persistent state.
+Pair your ESP32-C6 device over BLE from the app. Enter your Wi-Fi credentials and authenticate — stored securely on the device in NVS.
+A guided handshake walks the device through measuring your blind's full travel range. Precise 11-position control from that point on.
+Use the app slider for immediate control or set recurring schedules. Changes reach your blinds in real-time over Socket.IO.
+Open Hardware
+BlindMaster hardware is built around the Seeed XIAO ESP32-C6 — a compact, powerful RISC-V module with built-in Wi-Fi 6 and Bluetooth 5.3. The firmware is open-source ESP-IDF, and hardware schematics will be open-sourced at launch.
++ BlindMaster is launching on TestFlight for iOS beta testers, + with hardware schematics open-sourced at the same time. Join the early access + list to be first to know. +
+No spam. Just a launch notification.
+