DEV Community

Cover image for Building MyZubster: An Open-Source Skill Exchange Platform with Monero Payments
Daniel Ioni
Daniel Ioni

Posted on

Building MyZubster: An Open-Source Skill Exchange Platform with Monero Payments

🧩 Building MyZubster: An Open-Source Skill Exchange Platform with Monero Payments

πŸ“– Introduction

In a world where continuous learning is essential, MyZubster is born as an open-source platform that connects people to exchange skills and services. From programming to plumbing, tutoring to tech support, MyZubster creates a community where everyone can teach what they know and learn what they desire.

GitHub: DanielIoni-creator/MyZubsterAPP


🎯 What Makes MyZubster Special?

πŸ” Privacy & Monero Payments

Unlike other platforms, MyZubster integrates Monero (XMR) for private and secure payments:

  • πŸ”’ No transaction tracking
  • πŸ’° Automatic 2% fee to support development
  • πŸ›‘οΈ Escrow system: funds locked until work is completed

🌐 SaaS & Self-Hosted Architecture

MyZubster can be used as:

  • SaaS (Software as a Service) with automatic updates
  • Self-Hosted for full control over your data

πŸ› οΈ Tech Stack

Layer Technology
Mobile Kotlin, Android SDK, Retrofit, Material Design
Backend Node.js, Express, MongoDB, JWT
Payments Monero RPC, Escrow, 2% Fee Service
Web Dashboard React, TypeScript
Admin Panel React, Material-UI
API Gateway Node.js, Express

✨ Key Features

πŸ“… Booking System

  • Interactive calendar with time slots
  • Status tracking: pending, confirmed, in_progress, completed, cancelled
  • Automatic conflict detection

πŸ“ Quotes & Estimates

  • Professionals can send quotes
  • Clients accept or reject
  • Automatic booking status update

πŸ“‹ Complete Work History

  • Track all completed jobs
  • Infinite scroll for loading more history
  • Filter by category and status

πŸ’³ Monero Payment Integration

  • 2% platform fee automatically applied
  • Escrow protection for both parties
  • Privacy-first transactions

πŸ“± Android App Features

πŸ” Authentication

  • Login/Register with email/password
  • JWT token storage in SharedPreferences
  • Session management with countdown timer

πŸ’° Payment System

  • QR Code generation for Monero addresses
  • Real-time payment status tracking
  • Fund release by client after work completion

πŸ“Š Booking History

  • View all past and current bookings
  • Status color coding
  • Pull-to-refresh

πŸ’° Platform Fee

MyZubster applies a 2% platform fee on all transactions to support:

  • πŸ–₯️ Infrastructure costs (servers, databases, monitoring)
  • πŸ‘¨β€πŸ’» Development and maintenance
  • πŸ›‘οΈ Security and escrow services

Fee Wallet: Maintained by Daniel Ioni (DanielIoni-creator)


πŸš€ Getting Started

Prerequisites

  • Android Studio (latest)
  • Node.js 16+
  • MongoDB
  • Monero wallet RPC (for testing payments)

Clone the Repository


bash
git clone https://github.com/DanielIoni-creator/MyZubsterAPP.git
cd MyZubsterAPP
Backend Setup
bash

cd backend
npm install
cp .env.example .env
# Edit .env with your MongoDB URI, Monero RPC URL, and API keys.
npm start
# The backend will run on http://localhost:5000

Android App
bash

# Open the project in Android Studio
# Sync Gradle and build the APK
# Install the APK on your device (or use an emulator)

Web Dashboard (Optional)
bash

cd web-dashboard
npm install
npm start
# Runs on http://localhost:3000

Admin Panel (Optional)
bash

cd admin-panel
npm install
npm start
# Runs on http://localhost:3001

πŸ§ͺ Testing
bash

# Backend tests
cd backend
npm test

# Android tests
./gradlew test

# All tests with GitHub Actions (automated on every push)

πŸ›‘οΈ Security & Privacy

    Backend uses environment variables for sensitive data; never commit .env files

    All communication between client and server is encrypted via HTTPS

    Push notifications support Firebase FCM

    Admin Panel uses role-based access control (Admin/Moderator)

    Monero payments are non-custodial β€” private keys never leave the user's device

    Escrow uses Monero multisig for secure fund locking

πŸ“„ License

This project is licensed under either the MIT License or the GNU General Public License v3.0, at your option.

SPDX-License-Identifier: MIT OR GPL-3.0-or-later
🀝 How to Contribute

We welcome contributors of all experience levels!

    Fork the repository

    Create a feature branch

    Make your changes and test them

    Submit a Pull Request with a clear description of your work

Check our Contributing Guide to get started!
πŸ“Š Project Status
Component   Status
Backend API βœ… Complete
Android App βœ… Complete
Web Dashboard   βœ… Complete
Admin Panel βœ… Complete
Monero Integration  βœ… Complete
Authentication  βœ… Complete
Testing βœ… Complete
πŸ”œ Next Steps

    Real Monero payment integration (currently in simulation)

    Push notifications with Firebase

    User profile management

    Multi-language support

    iOS app (Swift)

πŸ™ Acknowledgments

    Monero for privacy-first digital cash

    All open-source libraries and contributors who make this project possible

    The community for feedback and support

πŸš€ Ready to Join the Community?

Explore the code, report issues, or start contributing today!

https://img.shields.io/github/stars/DanielIoni-creator/MyZubsterAPP.svg?style=social
https://img.shields.io/github/forks/DanielIoni-creator/MyZubsterAPP.svg?style=social
https://img.shields.io/github/issues/DanielIoni-creator/MyZubsterAPP.svg
https://img.shields.io/github/issues-pr/DanielIoni-creator/MyZubsterAPP.svg

Made with ❀️ by Daniel Ioni and the MyZubster community

πŸ”— Links:

    GitHub Repository

    Report Issue

    Contributing Guide

Enter fullscreen mode Exit fullscreen mode

Top comments (0)