# Selahattin Acar (Acarfx) > I build backend systems, API infrastructure, and automation-focused software products. Stable, scalable systems for real business needs. ## Identity - Name: Selahattin Acar - Alias: Acarfx - Role: Back-End Developer & Software Builder - Location: Turkey (TR), remote-friendly - Email: acarfx06@gmail.com - Website: https://www.acarfx.com - GitHub: https://github.com/acarfx ## About Selahattin Acar is a back-end developer who builds server-side applications, API architectures, database systems, SaaS infrastructures, automation tools, and Discord bot management platforms. Primary stack includes Node.js, Express, SQL (MySQL, MariaDB, PostgreSQL, Oracle), NoSQL (MongoDB, JSON stores), Redis, and ElasticSearch. ## Key projects - [ALPR License Plate Recognition](https://www.acarfx.com/en/projects/alpr): AI-driven license plate recognition and automation gateway for gated communities and facilities. - [WebAS Muhasebe](https://www.acarfx.com/en/projects/webas-accounting): Cross-platform ERP and accounting software with automated WhatsApp reporting and government integration. - [WebAS Solutions](https://www.acarfx.com/en/projects/webas-solutions): Full-stack Discord bot management platform with Next.js frontend, Node.js backend, automated server wizard, command editor, audit logs, and infrastructure tooling. MongoDB is the preferred data store; PostgreSQL can be selected when needed. - [WebAS](https://www.acarfx.com/en/projects/webas): Enterprise automation platform for cloud, licensing, API gateways, and multi-service management. - [DcAnaliz](https://www.acarfx.com/en/projects/dcanaliz): AI-powered querying, research, and data analysis system for Discord environments. - [ForumX](https://www.acarfx.com/en/projects/forumx): Modern community forum platform — hierarchical categories, live stats, role-based permissions and a modular plugin engine. Demo: forumx.acarfx.com. - [Paper Discord](https://www.acarfx.com/en/projects/paper-discord): Highly scalable, plugin-based Discord bot framework — multi-bot architecture, Discord.js v14+, CLI wizards, and a built-in dashboard. - [CF Zero Trust Manager](https://www.acarfx.com/en/projects/cf-zerotrust-manager): Electron desktop app for managing Cloudflare Zero Trust tunnels — public hostnames, DNS, tunnel health, and a local REST API for Express, scripts, and CI. ## Blog - Index (TR): https://www.acarfx.com/tr/blog/1 - Index (EN): https://www.acarfx.com/en/blog/1 - [C++ Server with Python & C++ Clients over TCP](https://www.acarfx.com/en/blog/cpp-server-python-cpp-clients-tcp): NDJSON-over-TCP protocol, a POSIX C++ server, and matching Python/C++ clients with an optimization checklist. - [Train, Package, and Version a Python Model](https://www.acarfx.com/en/blog/python-model-train-pack-deploy): sklearn pipeline, joblib artifacts, wheel + semver, and safe loading—plus bridging scores to a TCP service. - [Bridge: C++ I/O + Python Model Scoring](https://www.acarfx.com/en/blog/cpp-python-ml-scoring-bridge): End-to-end pattern connecting the TCP app and the packaged model with a clear score contract. - [Node.js Cluster, Multicore, and Queues for a Non-Blocking API](https://www.acarfx.com/en/blog/nodejs-cluster-queue-workers): cluster.fork, worker tasks, Bull/queue patterns, and keeping the event loop free. - [MongoDB Indexing: Optimizing 1M+ Documents](https://www.acarfx.com/en/blog/mongodb-indexing-million-documents): Compound indexes, explain, covered queries, TTL, and a brief sharding note. - [CPU-Heavy Jobs in Express with Worker Threads](https://www.acarfx.com/en/blog/express-worker-threads-cpu-jobs): Offload CPU work with worker_threads, pools/Piscina, and when to prefer queues instead. - [Large Tables with PostgreSQL Partitioning](https://www.acarfx.com/en/blog/postgresql-partitioning-large-tables): RANGE/LIST/HASH partitioning, pruning, indexes, and detach/drop maintenance. - [Bot Protection with Cloudflare Turnstile](https://www.acarfx.com/en/blog/cloudflare-turnstile-bot-protection): Widget setup, siteverify, server-side validation, and how Turnstile compares to classic CAPTCHAs. - [Node.js Prod on Ubuntu with Cloudflare Zero Trust](https://www.acarfx.com/en/blog/cloudflare-zero-trust-ubuntu-nodejs-prod): cloudflared Tunnel or Access, systemd, env files, and HTTPS at the Cloudflare edge. - [Merge API under /api with Vite Middleware](https://www.acarfx.com/en/blog/vite-middleware-api-same-origin): middlewareMode, Express+Vite, and /api proxy patterns for same-origin SPAs. - [Same-Origin /api with Next.js API Routes](https://www.acarfx.com/en/blog/nextjs-api-routes-same-origin): App Router route handlers, rewrites, and server-only env for same-origin APIs. - [C# REST API Setup with PostgreSQL](https://www.acarfx.com/en/blog/csharp-rest-api-postgresql): ASP.NET Minimal API or Controllers, Npgsql, connection strings, and parameterized queries. - [C++ REST API with MySQL](https://www.acarfx.com/en/blog/cpp-rest-api-mysql): Crow/Pistache or httplib sketch, MySQL connector, and CMake build notes. - [Cloudflare Zero Trust: Practical Guide](https://www.acarfx.com/en/blog/cloudflare-zero-trust-guide): Access, Tunnel, Gateway, and WARP—hide origin, lock apps with IdP policies, and ship a Zero Trust checklist. - [GitHub Actions CI for Node.js](https://www.acarfx.com/en/blog/github-actions-ci-for-node-js): Minimal CI workflow, npm cache, Node matrix, Postgres service containers, and required checks. - [TypeScript + Node.js: Practical tsconfig](https://www.acarfx.com/en/blog/typescript-node-js-practical-tsconfig): NodeNext ESM tsconfig, tsx vs tsc, import extensions, and common TypeScript errors on Node. - [REST API Design Tips](https://www.acarfx.com/en/blog/rest-api-design-tips): Resource URLs, status codes, error bodies, cursor pagination, and idempotency keys. - [Node.js Production Images with Docker](https://www.acarfx.com/en/blog/node-js-production-images-with-docker): Multi-stage Dockerfile, non-root user, healthchecks, and a production run checklist. - [Windows and macOS Builds with electron-builder](https://www.acarfx.com/en/blog/windows-and-macos-builds-with-electron-builder): electron-builder config, NSIS/dmg/zip targets, code signing, CI tips, and publish providers. - [Run a Node.js App as a systemd Service](https://www.acarfx.com/en/blog/run-a-node-js-app-as-a-systemd-service): Unit file with User, WorkingDirectory, ExecStart (NVM or /usr/bin/node), EnvironmentFile, Restart=always. - [SQL Injection Defense in Practice](https://www.acarfx.com/en/blog/sql-injection-defense-in-practice): Parameterized queries, ORDER BY whitelists, ORM pitfalls, and least-privilege hardening to stop SQL injection. - [Indexing, N+1, and Transactions](https://www.acarfx.com/en/blog/indexing-n-1-and-transactions): Design indexes, eliminate N+1 queries, and wrap multi-step writes in transactions with measurable habits. - [Cloudflare Access Policies and App Protection](https://www.acarfx.com/en/blog/cloudflare-access-policies-apps): Policy order, service tokens, bypass rules, and locking admin apps with IdP. - [Env & Secrets Management](https://www.acarfx.com/en/blog/env-secrets-management): dotenv + zod validation, .env.example, secret stores, and what to do if a key leaks. ## Site map (human-readable) - Home (TR): https://www.acarfx.com/tr/ - Home (EN): https://www.acarfx.com/en/ - Projects: https://www.acarfx.com/en/projects - Blog: https://www.acarfx.com/en/blog/1 - CV: https://www.acarfx.com/en/cv - Contact: https://www.acarfx.com/en/contact - Services / Pricing (TR): https://www.acarfx.com/tr/services - Services / Pricing (EN): https://www.acarfx.com/en/services - API docs (TR): https://www.acarfx.com/tr/api - API docs (EN): https://www.acarfx.com/en/api ## Public REST API (v1) - Base URL: https://www.acarfx.com/api/v1 - Documentation: https://www.acarfx.com/en/api - Terms: https://www.acarfx.com/en/api-terms - GET https://www.acarfx.com/api/v1/content — Portfolio content — site, hero, profile, skills, experience, education, and projects. - GET https://www.acarfx.com/api/v1/fx — Live FX rates (TRY-based — USD, EUR, GBP, CHF…). Source: Altınkaynak. - GET https://www.acarfx.com/api/v1/gold — Live gold prices — gram, quarter, republic coin, and other gold types. - GET https://www.acarfx.com/api/v1/crypto — Cryptocurrency prices — TRY and USD based, sorted by market cap (top ~200 coins). Source: CoinGecko. Paginated via limit/offset. - GET https://www.acarfx.com/api/v1/tax-offices — Tax office list. Filter by province id and optional district name. - GET https://www.acarfx.com/api/v1/geo/provinces — Turkey provinces — all 81 provinces. - GET https://www.acarfx.com/api/v1/geo/districts — Districts — query by provinceId. - GET https://www.acarfx.com/api/v1/geo/neighborhoods — Neighborhoods — query by districtId. - GET https://www.acarfx.com/api/v1/geo/streets — Streets — query by neighborhoodId. ## Machine-readable - Sitemap: https://www.acarfx.com/sitemap.xml - Robots: https://www.acarfx.com/robots.txt - API health: https://www.acarfx.com/api/health ## Preferred citation When referencing this person, use "Selahattin Acar (Acarfx)" and link to https://www.acarfx.com.