SHIPPED // 3 SITES
My Projects
Websites I designed and built end to end, from backend to pixel.
فارسی
رنضا تایر — یک وباپ فروشگاهی کامل (فرانت + بکاند) برای فروش آنلاین لاستیک خودرو، با یک استک سبک و کموابستگی.
بکاند
پایتون ۳ + فلسک (Flask) — مسیریابی، مدیریت ریکوئستها و نشستها (بدون افزونههای سنگین، فقط هستهی فلسک)
SQLite3 — کوئریهای خام SQL از طریق ماژول داخلی sqlite3 پایتون (بدون ORM)، با فعالبودن حالت WAL برای همزمانی بهتر خواندن/نوشتن
Werkzeug — هش کردن رمز عبور کاربران و مدیران
احراز هویت مبتنی بر Session — دو سیستم ورود جدا برای مشتری و ادمین، با دکوریتورهای login_required / admin_required روی مسیرهای محافظتشده
فرانتاند
قالببندی با Jinja2 (رندر سمت سرور، بدون فریمورک SPA)
جاوااسکریپت خالص (Vanilla JS) — بدون jQuery یا React؛ منوی موبایل، مودالها، استپر تعداد و فیلترهای جمعشونده همه دستی نوشته شدن
CSS دستی — بدون بوتاسترپ یا تیلویند؛ یک سیستم طراحی اختصاصی با متغیرهای CSS، کاملاً ریسپانسیو (موبایلمحور)
فونت وزیرمتن از CDN برای تایپوگرافی فارسی/راستبهچپ
TinyMCE خودمیزبان (بدون نیاز به کلید API ابری) برای ادیتور متن غنی در پنل مدیریت
ساختار و امکانات
فقط دو فایل پایتون (app.py و icons.py) — تمام مسیرها، اسکیمای دیتابیس و منطق برنامه داخل app.pyست؛ icons.py آیکونهای SVG رو بهصورت درجا رندر میکنه (بدون فونت/کتابخانهی آیکون)
پنل مدیریت کامل: داشبورد، مدیریت محصولات/دستهها/برندها/مقالات، مدیریت سفارشها، آمار بازدید صفحات
بخش مشتری: فروشگاه با فیلتر (برند، سایز، قیمت، امتیاز، موجودی) و جستجو، سبد خرید، تسویه حساب، تاریخچه سفارش، وبلاگ با جستجو و مرتبسازی
طراحی راستبهچپ و کاملاً ریسپانسیو
English
Renza Tire — a full-stack e-commerce web app for an online tire shop, built with a deliberately lightweight, dependency-minimal stack.
Backend
Python 3 + Flask — routing, request handling, session management (no heavy framework extensions, just core Flask)
SQLite3 — raw SQL queries via Python's built-in sqlite3 module (no ORM), running in WAL mode for better read/write concurrency
Werkzeug — password hashing (generate_password_hash / check_password_hash) for user and admin accounts
Session-based authentication — separate customer and admin login systems, with a @login_required / admin_required decorator pattern guarding protected routes
Frontend
Jinja2 templating (server-rendered HTML, no SPA framework)
Vanilla JavaScript — no jQuery, React, or other JS framework; hand-written interactivity (mobile nav, modals, quantity steppers, collapsible filters)
Hand-written CSS — no Bootstrap/Tailwind; custom design system using CSS variables, fully responsive (mobile-first breakpoints)
Vazirmatn — a Persian/Latin variable font, loaded from CDN, for proper RTL typography
TinyMCE — self-hosted rich-text editor (no cloud API key) for the admin panel's blog/product description fields
Structure & features
Two Python files total (app.py, icons.py) — all routes, DB schema/queries, and business logic live in app.py; icons.py renders inline SVG icons on demand (no icon font/library)
Full admin panel: dashboard, product/category/brand/blog CRUD, order management, page-view analytics
Customer-facing: shop with filters (brand, size, price, rating, stock) + search, cart, checkout, order history, blog with search/sort
RTL-first, fully responsive design
Eader Group
Python
Flask
SQLite
Jinja2
Bootstrap
jQuery
jdatetime
Bleach
Chart.js
TinyMCE
ایدر (Eader) — سایت شرکتی + پنل مدیریت اختصاصی
توضیح فارسی
طراحی و توسعهی کامل وبسایت شرکتی «بتن اکسپوز ایدر» به همراه یک پنل مدیریت (CMS) اختصاصی و کاملاً سفارشی، ساختهشده از صفر با Flask — بدون استفاده از هیچ CMS آمادهای مثل وردپرس.
کامل (برای صفحهی جزئیات پروژه)
یک پلتفرم کامل شرکتی برای تولیدکنندهی بتن اکسپوز، موزاییک و کفپوش که شامل دو بخش اصلی است: وبسایت عمومی (نمایش محصولات، مقالات، نمونهکارها، تیم و تماس با مشتری) و یک پنل مدیریت داخلی کاملاً اختصاصی که تمام محتوای سایت از طریق آن بدون نیاز به دانش برنامهنویسی قابل مدیریت است.
قابلیتهای کلیدی پنل مدیریت:
مدیریت کامل محصولات با دستهبندیهای پویا، فیلتر و جستجوی چندمعیاره در سایت اصلی (رنگ، ابعاد، کاربرد، قیمت)
سیستم زمانبندی انتشار محتوا (مقاله/محصول) با تقویم شمسی کامل
مدیریت گالری تصاویر و ویدیو با آپلود مستقیم فایل
سیستم نظرات مشتریان با گردشکار تایید/رد
مدیریت اعضای تیم، اسلایدر صفحه اصلی و سوالات متداول
مدیریت سئوی هر صفحه (Title/Description/Keywords) بدون نیاز به تغییر کد
تنظیمات عمومی سایت (تماس، آدرس، شبکههای اجتماعی) از یک نقطهی مرکزی
داشبورد آماری با نمودار بازدید روزانه، صفحات پرطرفدار، منبع ورودی ترافیک و آمار دستگاه/مرورگر
جستجوی سراسری در تمام بخشهای پنل
سیستم اعلان لحظهای، لاگ فعالیت ادمینها و یادداشتهای داخلی تیم
حالت نگهداری سایت و پشتیبانگیری یککلیکی از دیتابیس
شخصیسازی چیدمان داشبورد برای هر ادمین
طراحی کاملاً ریسپانسیو و راستبهچپ (RTL) برای زبان فارسی
نکات فنی: تمام معماری بکاند، پایگاه داده و منطق پنل مدیریت بهصورت اختصاصی طراحی و پیادهسازی شده؛ امنیت با محافظت CSRF، پاکسازی HTML ورودی (جلوگیری از XSS) و هش رمز عبور تامین شده است.
تکنولوژیهای استفادهشده: Python · Flask · SQLite · Jinja2 · JavaScript (Vanilla, Fetch API) · HTML5 · CSS3 · Bootstrap · TinyMCE · Chart.js · jdatetime (تقویم شمسی) · Bleach (ضدعفونی HTML) · Werkzeug Security
English Description
Full-stack design and development of a corporate website for Eader (exposed concrete manufacturer) paired with a fully custom-built admin CMS — built from scratch with Flask, with no reliance on any off-the-shelf CMS like WordPress.
Full (for project detail page)
A complete corporate platform for an exposed-concrete, mosaic, and paving-tile manufacturer, consisting of two main parts: a public-facing website (products, blog, portfolio/case studies, team, and contact) and a fully bespoke internal admin panel through which every piece of site content can be managed without any coding knowledge.
Key admin panel features:
Full product management with dynamic categories and multi-criteria filtering/search on the public site (color, size, use case, price)
Content scheduling system (articles & products) with a full Jalali (Persian) calendar picker
Image and video gallery management with direct file upload
Customer testimonial system with an approve/reject workflow
Team member, homepage slider, and FAQ management
Per-page SEO management (title/description/keywords) with zero code changes required
Centralized site-wide settings (contact info, addresses, social links)
Analytics dashboard with daily visit charts, top pages, traffic source breakdown, and device/browser stats
Global search across all admin sections
Real-time notifications, admin activity logging, and internal team notes
Site maintenance mode and one-click database backup
Per-admin customizable dashboard layout
Fully responsive, RTL (right-to-left) design for Persian
Technical highlights: The entire back-end architecture, database schema, and admin logic were designed and implemented from scratch, with CSRF protection, HTML input sanitization (XSS prevention), and secure password hashing built in throughout.
Tech stack: Python · Flask · SQLite · Jinja2 · Vanilla JavaScript (Fetch API) · HTML5 · CSS3 · Bootstrap · TinyMCE · Chart.js · jdatetime (Persian calendar) · Bleach (HTML sanitization) · Werkzeug Security
فارسی
پخش بلور و پلاستیک تندیس — وبسایت شرکتی با پنل مدیریت اختصاصی
طراحی و توسعهی کامل یک وبسایت شرکتی برای یک نمایندگی پخش محصولات پلاستیکی و بلورجات، با بکاند Flask (پایتون) و فرانتاند سفارشی. این پروژه شامل صفحات معرفی شرکت، خدمات، گالری تصاویر و ویدیو، بخش نظرات مشتریان و مقالات/بلاگ است، به همراه یک پنل مدیریت (Dashboard) اختصاصی که امکاناتی مثل مدیریت مقالات (افزودن، ویرایش، حذف)، مدیریت گالری، تأیید یا حذف نظرات کاربران، مدیریت پیامهای تماس و مدیریت ادمینها را فراهم میکند. ویرایشگر متن مقالات با TinyMCE پیادهسازی شده و سایت از نظر سئو (متاتگها، Open Graph، sitemap و robots.txt) کاملاً بهینه شده است.
تکنولوژیها: Flask، SQLite، Jinja2، Bootstrap، jQuery، TinyMCE
English
Tandis Plastic & Glassware Distribution — Corporate Website with Custom Admin Panel
A full-stack corporate website built for a plastic housewares and glassware distribution company, developed with a Flask (Python) backend and a custom front-end. The project includes company/about pages, services, image and video galleries, a testimonials section, and a blog/articles system — all backed by a custom admin dashboard that lets the client manage articles (add/edit/delete), gallery content, approve or remove customer testimonials, handle contact messages, and manage admin accounts. The article editor is powered by TinyMCE, and the site is fully optimized for SEO with meta tags, Open Graph data, an XML sitemap, and robots.txt.
Stack: Flask, SQLite, Jinja2, Bootstrap, jQuery, TinyMCE