finds.dev← search

// the find

jadijadi/sms_serial_verification

★ 403 · Python · GPL-3.0 · updated Jul 2024

A small Flask + MySQL app that verifies product serial numbers by SMS one-time code, built as a paid freelance job for Schneider Electric Iran and released as a public, filmed step-by-step tutorial. It's aimed at Persian-speaking developers learning how a real freelance web project gets built, not at anyone needing a serial-verification service off the shelf.

Every step of the build is recorded on YouTube/Aparat, so you can watch the actual decisions (schema design, SMS gateway wiring, auth) rather than just read a diff. The scope is realistic and small: Flask app, MySQL backend, Kavenegar SMS API for sending/receiving codes, session auth — a genuinely representative slice of a client project rather than a toy demo. It ships the boring-but-necessary pieces that tutorials often skip: custom 401/404/500 pages, a DB status page, and a Liara (Iranian PaaS) deploy config.

No tests anywhere in the tree, and the whole thing lives in one app/main.py rather than being split into blueprints, so there's no real code structure to learn from past 'add a route here.' It's hard-wired to Kavenegar as the SMS provider with no abstraction, so it's not reusable if you're on a different gateway. It hasn't been touched since July 2024 and the README's setup instructions assume a specific virtualenv/MySQL local setup with no Docker/compose file, so getting it running outside that exact environment takes real digging.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →