DEV Community

Daniel Ioni
Daniel Ioni

Posted on

I built a Monero payment platform with Admin Panel, WebSocket, and advanced security

πŸš€ 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:

  1. Create orders quickly and easily
  2. Pay in Monero with unique addresses per order
  3. Monitor payments in real-time (no refresh needed)
  4. 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:confirmed and order:updated events
  • Automatic reconnection: with queue management
  • Authentication: secure WebSocket connections

πŸ“Έ Screenshots

Screen Description
Login Login / Registration
Dashboard User dashboard with orders
Admin Panel Admin Panel with stats and filters
Payment Modal Payment modal with Monero QR Code
Order Details 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
Enter fullscreen mode Exit fullscreen mode

Top comments (0)