Projects
Published Projects
Open Source
- terraform-module-rke: Terraform module for Provisioning HA Kubernetes clusters using K3s and RKE2 on hosts using SSH, WinRM
- terraform-aws-wireguard: Terraform module for Provisioning Wireguard VPN instance and manage users on AWS cloud
- terraform-hcloud-rke: Terraform module for Provisioning HA Kubernetes clusters using K3s and RKE2 on Hetzner cloud
- terraform-hcloud-network: Terraform module for Creating and Managing Network, Subnet on Hetzner cloud
- terraform-hcloud-wireguard: Terraform module for Provisioning Wireguard VPN instance and manage Users on Hetzner cloud
- terraform-openstack-rke: Terraform module for Provisioning HA Kubernetes clusters using K3s and RKE2 on OpenStack cloud
- terraform-openstack-network: Terraform module for Creating and Managing Network, Subnet, Routes on OpenStack cloud
- terraform-kubernetes-x509: Terraform module for Creating and Managing X.509 Certificate and RoleBinding on Kubernetes
- terraform-kubernetes-environment: Terraform module for Creating and Managing isolated environments on Kubernetes
- terraform-gitlab-application: Terraform module for Creating and Managing Groups, Projects and default organization policies on Gitlab
- terraform-gitlab-environment: Terraform module for Creating and Managing Environments for Projects on Gitlab
- windows-cloud-image: Packer configs to create Windows Cloud Image uisng VirtualBox and QEMU
Open Source
- loopback-component-crud: Generating CRUD endpoints from Model supports AuthZ, Nested-Create, Nested-Update
- loopback-component-filter: Filtering Model records based on user permissions in ORM Repository level
- loopback-component-history: Adding Soft-Delete and Soft-Update functionality in ORM Repository level
- loopback-component-cascade: Adding Cascade functionality to models in ORM Repository level
- loopback-component-authorization: Supporting HRBAC (Hierarchical Role Based Access Control) authorization
ReactAdmin Data Providers
Open Source
- ra-data-lb4: Loopback4 auto-generated CRUD endpoints data-provider library
- ra-data-mixer: Mixing multiple data-providers into one data-provider library
- ra-data-processmaker3: ProcessMaker3 BPMS CRUD endpoints data-provider library
Open Source
- Developed a custom messaging protocol over TCP/UDP using Erlang
- Implemented Hole Punching for P2P connections in audio/video calls with Erlang
- Created a resumable streaming protocol for file transfers using C
- Streamed audio/video frames using Android native APIs, FFMPEG, and raw sockets
- Built an Android messenger app with Java, C (JNI), and Android Studio
- Developed a desktop messenger app using Qt, C++, and QML
Course Projects
Natural Language Processing
Fall 2022
Prof. Bagher Babaali
- Training N-Gram Language Model on Hamshahri v2 dataset (Persian Newspaper) using NLTK
- Implementation of Hidden-Markov-Model from scratch in python (Baum Welch Algorithm, Viterbi Algorithm)
- Part-of-Speech Tagging using Hidden-Markov-Model
- Applying TF-IDF and LSA for Text Classification on Persica dataset
- Text Classification on Persica dataset using ParsBERT
- Part-of-Speech Tagging on Persian dataset using ParsBERT
Machine Learning
Fall 2022
Prof. Bagher Babaali & Prof. Hedieh Sajedi
- Implementation of perceptron from scratch using Python and NumPy and applying it on Polynomial Regression problem
- Training perceptron for Money Classification into Real and Fake classes
- Implementation of Linear-Discriminant-Analysis using Python and NumPy and applying it to reducing dimension and visualizing data
- Implementation of Principal-Component-Analysis using Python and NumPy and applying it to Face Image dataset compression and reconstruction
- Applying Logistic Regression for a binary classification task on Income dataset
- Applying K-Means clustering method on dataset and visualizing clusters
- Activity Recognition using Wearable Physiological Signal Features using Decision Tree, Random Forest, XGBoost, and SVM Classifiers
- Parkinson's Disease Detection using Speech Signal Features using Decision Tree, Random Forest, XGBoost, SVM, MLP, ELM, and Autoencoder
- Heart Disease Prediction from Health Indicators using Decision Tree, Random Forest, XGBoost, SVM, MLP, ELM, and Autoencoder