Abdalla Yahya

Abdalla yahya

Node.js Backend Developer

IoT Experience | QT-QML for GUI

About Me

I'm a multi-disciplinary systems developer who started programming back in 2017. I gradually evolved from working on basic embedded systems projects to building full-stack integrated solutions that combine IoT, hardware control, APIs, and modern ERP platforms.

I've worked extensively on IoT and embedded systems using Node.js and C/C++, integrating with various protocols like MQTT, Socket.IO, and HTTP. One of my core strengths is the ability to engineer complete, real-world solutions from scratch-even when no documentation or reference exists. For example, I built a custom MongoDB plugin for QML by wrapping the C driver into C++.

I'm comfortable working across different layers of technology-software, hardware, and networking-and I'm always driven by practical innovation and problem-solving.

As the saying goes: "Jack of all trades, master of none, but oftentimes better than master of one."

Latest Projects


YouTube video

Pharmaceutical ERP Design

Overview: Pharmgey is a full-stack ERP system designed for pharmaceutical warehouses and pharmacies. It streamlines online ordering, inventory control, and centralized reporting using modern web technologies.

  • Pharmacy Interface - Built with Next.js: browse products, place orders, view invoices
  • Warehouse Dashboard - Built with Nest.js: manage stock, process orders, print invoices
  • Admin Panel - Central control over warehouses, customers, and financial reports
  • Tech Stack: Nest.js-Next.js-Node.js-MongoDB-REST API-JWT Authentication-CSV Import

Full play list


YouTube video

QT-QML Image Editor (Raspberry Pi)

Image editor on Raspberry Pi with touch screen support.

  • Edit (Brightness - Blackness - Contrast - Blur) using QtGraphicalEffects
  • Paint on image using canvas with color selection
  • Upload image using Qt.labs.platform 1.1
  • Supports virtual keyboard (Qt Virtual Keyboard)
  • Save image using grabToImage, and select path through a custom QML-based file dialog. This was necessary because Qt Virtual Keyboard does not receive input focus from the default Qt.labs.platform 1.1 FileDialog in QML. Since the goal was to use QML only (without C++), I implemented a custom file dialog to solve this issue.

YouTube video

QT-QML Image Editor (Desktop App)

Image editor on Ubuntu using Qt/QML.

  • Brightness, Contrast, Blur controls
  • Canvas drawing with color selection
  • Image upload & save via Qt.labs.platform 1.1

mongo

Qt6 Quick MongoDB Plugin

Developed a custom Qt plugin that wraps the MongoDB C Driver into a C++ class and exposes full database functionality to QML. This allows performing MongoDB operations directly from QML without writing C++ in the application logic.

  • Connected QML to MongoDB with a reusable plugin
  • Supports full CRUD operations (insert, update, delete, find, aggregate, count)
  • Wrapped MongoDB C Driver inside Qt C++ backend
  • Real-time message output via onMongoMessage signal
  • Easy to import in any Qt 6 QML project: import QtQuick.MongoDB

GitHub


YouTube video

Smart Waiter Delivery Robot (Prototype)

Autonomous food delivery robot built using Raspberry Pi 4 and Qt/QML. It navigates between tables using motor control and obstacle detection after selecting a table via touchscreen.

  • Touch interface (Qt/QML) for table selection
  • Obstacle detection via ultrasonic sensor
  • Autonomous return-to-kitchen after delivery
  • 4 DC motors with directional logic in C++

Other Projects

Mall Wi-Fi Hotspot & Advertisement System

A marketing-focused Wi-Fi system for malls built using Raspberry Pi 3, providing customers with internet access via a captive portal that displays real-time store offers and collects user contact data. Each store can submit its own banner and promotion, paying a monthly subscription to appear in the login interface.

  • Customers are required to enter their email and phone number and verify via SMS to access the internet.
  • Collected contact information is stored securely for future marketing campaigns.
  • An admin panel allows adding/editing/removing stores, updating offers, and managing subscriptions.

Technologies Used: Node.js, HTML/CSS/JavaScript, MySQL, Raspberry Pi 3, CoovaChilli

Remote Server Monitoring & Control System

Company: Remnum
Year: 2017
Role: Lead Developer
Tech Stack: Node.js, MQTT, Socket.IO, OS module, Linux, JavaScript

Developed a full server monitoring and control system using Node.js.
Each monitored server runs a lightweight agent script (child.js) that:

  • Publishes real-time data (IP, memory usage, disk usage, MAC address, hostname, uptime) over MQTT
  • Subscribes to command topics to receive remote control instructions

The central server:

  • Subscribes to all data topics and renders them in real-time via Socket.IO
  • Sends back commands over MQTT which are executed by the child agents
  • Displays the command outputs in a terminal-like interface within a dashboard

The system allowed:

  • ✓ Real-time monitoring across distributed servers
  • ✓ Remote command execution securely
  • ✓Integration with Linux OS metrics using the native os module

Work Experience

Back-End Developer - Prosoft Solutions (2024 - 2025)

Location: Saudi Arabia

  • Architected microservice backends and IoT integrations with Node.js, NestJS, and Express.
  • Built and maintained AWS S3 image upload pipelines on EC2 for high availability.
  • Enforced CI/CD processes across teams for streamlined production deployments.
  • Designed scalable system architectures to support thousands of concurrent users.

Senior Node.js Developer - Code Chef (2023 - 2024)

Location: Egypt

  • Led backend development for ERP, POS, and ecommerce platforms using NestJS, Express, and Next.js.
  • Integrated MongoDB and Redis for scalable and real-time data processing.
  • Collaborated with frontend teams to build responsive UIs and implement RESTful APIs.
  • Managed cloud deployments on AWS EC2, including Docker containerization.
  • Built internal tools to streamline admin workflows and automate reporting processes.

Junior Linux & IoT Developer - RemnumOffice (2019 - 2022)

Location: Remote

  • Automated deployment, configuration, and maintenance of Linux-based embedded systems using Bash scripting.
  • Developed initial IoT proof-of-concepts on Raspberry Pi using C, C++, and Shell scripts.
  • Created Qt/QML-based UI prototypes for touch-enabled interfaces in embedded systems.
  • Set up MQTT brokers and internal HTTP APIs for device communication and monitoring.
  • Designed and tested GPIO-based hardware control flows for automation use cases.
  • Supported firmware updates and field-testing phases for multiple Raspberry Pi-based solutions.
  • Collaborated with senior engineers to troubleshoot hardware-software integration bugs.
  • Improved deployment reliability and reduced manual setup time by introducing reusable scripts and templates.

Developer - Freelance (2018 - 2019)

Location: Remote

  • Built backend APIs and IoT workflows for startup prototypes using Node.js and Raspberry Pi.
  • Delivered custom automation projects using C and Linux-based systems.
  • Implemented sensor-to-cloud data pipelines using Dockerized environments.
  • Supported clients remotely across different domains including retail and smart home setups.