π I built a Monero payment platform with Admin Panel, WebSocket, and advanced security
MyZubster is a full-stack platform for managing orders and cryptocurrency payments (Monero/XMR). It's a complete application with:
- β Modern React frontend with responsive UI
- β Secure Node.js/Express backend
- β Monero (testnet) integration for real payments
- β Full Admin Panel with filters, search, and pagination
- β WebSocket for real-time notifications
- β VPS with Tor deployment preparation (onion site)
π― Why I built MyZubster
I wanted to build a platform that allows users to:
- Create orders quickly and easily
- Pay in Monero with unique addresses per order
- Monitor payments in real-time (no refresh needed)
- Manage everything through a complete admin panel
The goal was also to experiment with:
- Monero RPC integration
- WebSocket for real-time communication
- Advanced security (XSS, CSRF, Rate Limiting, Helmet)
- Admin panel for data management
π οΈ Tech Stack
| Area | Technologies |
|---|---|
| Frontend | React 18, Axios, React Toastify, QRCode.react, Socket.IO Client |
| Backend | Node.js, Express, JWT, Bcrypt, Socket.IO, Mongoose |
| Database | MongoDB (Atlas Cloud) |
| Authentication | JWT with Refresh Token rotation and revocation |
| Payments | Monero (testnet) + Mock for development |
| WebSocket | Socket.IO for real-time notifications |
| Admin Panel | Dashboard, filters, search, pagination, CSV export |
| Security | XSS, CSRF, Rate Limiting, Helmet, CORS, JWT Refresh |
β¨ What's new / What I recently implemented
π‘οΈ Complete Admin Panel
- Dashboard with statistics: total orders, paid, pending, revenue, users, conversion rate
- Advanced filters: by status (pending, paid, processing, shipped, delivered, cancelled)
- Search: by order number and user email
- Pagination: 10 orders per page
- Order detail (popup): view all order details with one click
- User management: view, search, and promote users to admin
- CSV export: download order reports
π Security Implemented
- XSS Protection: input sanitization on all user inputs
- CSRF Protection: tokens for POST/PUT/DELETE requests
- Rate Limiting: 10 attempts/15 minutes on authentication
- Helmet: HTTP security headers
- JWT Refresh Token: with rotation and revocation
- CORS: properly configured for production
π° Monero Integration
- Wallet RPC: connection to monero-wallet-rpc
- Subaddress generation: unique addresses per order
- Automatic monitoring: 10 confirmations (~20 minutes)
- Automatic fee: 2% deducted
- Net transfer: 98% to main wallet
π‘ WebSocket
-
Real-time notifications:
payment:confirmedandorder:updatedevents - Automatic reconnection: with queue management
- Authentication: secure WebSocket connections
πΈ Screenshots
| Screen | Description |
|---|---|
| Login / Registration | |
| User dashboard with orders | |
| Admin Panel with stats and filters | |
| Payment modal with Monero QR Code | |
| Order detail popup |
π§ How the Monero payment flow works
mermaid
sequenceDiagram
participant User
participant Frontend
participant Backend
participant MoneroWallet
User->>Frontend: Create order
Frontend->>Backend: POST /orders
Backend->>MoneroWallet: create_address()
MoneroWallet-->>Backend: Subaddress
Backend-->>Frontend: Order + Subaddress
Frontend-->>User: Show QR Code and address
User->>MoneroWallet: Send XMR
MoneroWallet-->>Backend: Transaction detected
Backend->>Backend: Monitor 10 confirmations
Backend-->>Frontend: WebSocket: payment:confirmed
Frontend-->>User: β
Order paid!
π§
Roadmap: Deploy on VPS with Tor (I need help!)
The next step is to deploy the project on a VPS with Tor to have:
π Public website with SSL (normal domain)
π§
Onion site for anonymous and private access
π± Onion advertising site for marketing
π΄ Where I need help
VPS setup: choosing the provider, initial configuration
Tor: hidden service configuration and Nginx
Automated deployment: scripts to update the site without downtime
Marketing: how to effectively promote an onion site
If you have experience with VPS, Tor, or deploying Node.js apps, any advice is welcome! π
π GitHub Repository
π github.com/DanielIoni-creator/MyZubsterAPP
β οΈ Disclaimer
MyZubster is a technological platform designed exclusively for legitimate orders and cryptocurrency payments. The platform is provided "as is" and users assume all responsibility for its use. I am not liable for misuse, illegal transactions, or any activity contrary to the law.
π Acknowledgments
Thanks to the Monero, React, and Node.js communities for the libraries and support.
π¬ Discussion
Do you have experience with VPS and Tor deployment?
Any advice on how to promote an onion site?
Drop a comment below! π
#React #NodeJS #Monero #Cryptocurrency #WebSocket #AdminPanel #VPS #Tor #OnionSite #DevCommunity
text
---
## π·οΈ TAG SUGGERITI PER DEV.TO
| Tag | PerchΓ© |
| :--- | :--- |
| `#react` | Frontend principale |
| `#nodejs` | Backend principale |
| `#monero` | Integrazione pagamenti criptovaluta |
| `#cybersecurity` | Sicurezza implementata (XSS, CSRF, ecc.) |
| `#webdevelopment` | Progetto full-stack completo |
| `#opensource` | Repository pubblico su GitHub |
| `#cryptocurrency` | Pagamenti in Monero |
| `#websocket` | Notifiche real-time |
| `#devcommunity` | Richiesta di aiuto alla community |
---
## πΈ SUGGERIMENTI PER GLI SCREENSHOT
1. **Login page** β `http://localhost:3000`
2. **User Dashboard** β con ordini visibili
3. **Admin Panel** β con statistiche e filtri
4. **Payment Modal** β con QR Code Monero
5. **Order Details popup** β con dettagli ordine
6. **Footer** β con il disclaimer
Top comments (0)