Skip to content
View Ehasan07's full-sized avatar
🏠
Working from home
🏠
Working from home

Block or report Ehasan07

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Ehasan07/README.md

S M Ehasanul Haque — Odoo and full-stack developer, Dhaka

Portfolio Digital card DUPNO

Hi, I'm Ehasan

I'm an Odoo and full-stack developer at DUPNO International in Dhaka. At work I build Odoo 12 modules for the company's vehicle-tracking (VTS) operations — the fleet register, SIM recharge, voice campaigns, tracking certificates, equipment handover and the call-centre desk. Outside them I build Bangla-first SaaS: a Hajj agency platform, a personal finance app, a trading ERP and a digital business card.

A few rules I hold to in every project:

  • Bangla first, English one tap away.
  • Money is counted in paisa, never in floating point — totals match to the last taka.
  • Never break the system next door: an add-on must not slow down or block the module it sits on.
  • It ships: tested, deployed on a real server, with backups.

Odoo modules at DUPNO

Company work, so the source is private. Screens are from the modules themselves; customer data is blurred.

VTS Fleet 2.0
VTS Fleet 2.0 — a 19,000-row Google Sheet behind a real register: every edit goes through approval, keeps an audit trail and is written back to its exact cell.
Python · Odoo ORM · Google Apps Script write-back API · cron retries
Dupno Mobile Recharge
Mobile Recharge — bulk top-ups for the SIMs inside GPS trackers: the operator is read from the number prefix, employees spend from wallets with limits, and the ledger is checked against the live balance.
SSL Wireless TopUp API · wallets · computed fields with search
VTS SMS Voice Clean
Voice SMS in Bengali — a renewal reminder as a phone call: one rendered audio file per customer, uploaded to the voice server, dialled, then matched against the carrier's call records.
Google Cloud TTS · SSML · SFTP (paramiko) · queue API · CDR reconciliation
Dupno GPS Certificate
GPS Certificate — the BRTA / BTRC vehicle tracking certificate: type the IMEI and the rest fills itself; a Bengali PDF with a QR code that checks the live status.
QWeb PDF · Bengali typeface · QR verification endpoint · onchange
Smart Mobility Asset
Asset Handover — who holds which tracker, tool or SIM pack: a handover counts only when both sides sign, open tasks block the close, and what isn't returned becomes a liability.
hr · mail · state workflows · record rules
VTS IPTSP Support Desk
Call Support Desk — an editable mirror of the PBX call records for call-centre agents, with problem tags and vehicle links, written so it can never make the PBX lose a call.
Asterisk PBX · inherited create · non-blocking mirror · chatter
What I do in Odoo
Area In these modules
Models and ORM New models, inheritance of existing ones, computed fields with search, onchange, constraints
Views Kanban, list, form and search views in XML; menus and actions per role
Reports QWeb PDF in Bengali with seals and QR codes
Security Groups, access rights, record rules, approval workflows with audit trails
Automation Scheduled actions (cron) for sync, retries, balance checks and reconciliation
Integrations Google Sheets / Apps Script, SSL Wireless, Google Cloud TTS, SFTP, Asterisk PBX, REST endpoints
A tracking certificate generated by the GPS Certificate module
A certificate generated by the GPS Certificate module (owner details blurred, QR scrambled)
VTS Fleet 2.0 collection targets, data blurred
VTS Fleet 2.0: collection targets (customer data blurred)

Products I built

Hajj Tracking
Hajj Tracking — SaaS for Hajj & Umrah agencies: pilgrims, QR-verified receipts, statements, payroll, hotels and four side shops.
Live · Code · Next.js · tRPC · PostgreSQL
Taka Tracker
Taka Tracker — offline-first, double-entry personal accounting for Bangladesh, in Bangla and English.
Live · Code · Next.js · NestJS · Prisma
Trade ERP
Trade ERP — dues, stock, profit and VAT for rod, cement, sand, paint, Thai aluminium and glass traders. Bangla first, double-entry, works on a phone.
Live · Next.js · Prisma · PostgreSQL · source private
MY-Card
MY-Card — digital business cards: live builder, QR and wallet passes, bKash and SSLCommerz payments, analytics.
Live · Django · PostgreSQL · source private
More from Trade ERP
Trade ERP dashboard
Dashboard: today's sales and collections, cash and bank, what customers owe and what is owed to suppliers

Trade ERP stock
Stock by item at moving-average cost

Trade ERP reports
Every report in one place: ledgers, profit and loss, trial balance, VAT
Trade ERP on a phone
The same books on a phone

Client web work for DUPNO

DUPNO Payment Portal
Payment Portal
Checkout page for DUPNO services
DUPNO Fuel Monitor
Fuel Monitor
Landing page for vehicle fuel monitoring
Service Comparison
Service Comparison
Bangla package table, filtered by vehicle

Web apps, games and experiments

ehasanlive.com
ehasanlive.com
Portfolio: case studies, Odoo work, five themes · React, Tailwind, Framer Motion
Digital E-Card
Digital E-Card
Live card builder with QR and .vcf
React World Tour
React World Tour
Every country from a REST API
Alpha Clash Pro
Alpha Clash Pro
Keyboard typing game
Tic-Tac-Toe
Tic-Tac-Toe
Two players, vanilla JavaScript
Book Manager
Book Manager
Python command-line app
Fluid Smoke Pro
Fluid Smoke Pro
Canvas animation
Hexagon Grid
Hexagon Grid
Honeycomb hover effect
Fluid Hover
Fluid Hover · Cursor Trails
More canvas experiments

How I got here

When What I was building
Jan 2024 First repository, first portfolio, and assignment 1: a Figma design in HTML
Jan – May 2024 Assignments 2–6: AMA Travel, Hockey Club, JS problem solving, P-Paribahan tickets, Retro Forum
2024 First games and React: Alpha Clash Pro, Tic-Tac-Toe, React World Tour · first client pages for DUPNO
At DUPNO Odoo 12 modules for the VTS operations: fleet register, SIM recharge, Bengali voice campaigns, tracking certificates, asset handover, call-centre desk
2025 Python, canvas experiments, the Digital E-Card, then MY-Card, a Django SaaS with payments
2026 ehasanlive.com rebuilt, Taka Tracker, Trade ERP and Hajj Tracking — full SaaS products in TypeScript, live on my own servers

Tools I use

Odoo 12 Python QWeb / XML Django PostgreSQL Redis

TypeScript Next.js React NestJS tRPC Prisma Drizzle Tailwind JavaScript

Linux Nginx Docker Playwright Hetzner Google Cloud bKash SSLCommerz


Get in touch

Website Digital card DUPNO

Ship it. Read it six months later. If it still makes sense, it's done.

Pinned Loading

  1. Alphabate-game Alphabate-game Public

    Alpha Clash Pro: keyboard typing game with score and lives. Vanilla JavaScript, Tailwind and DaisyUI.

    JavaScript

  2. Ehasan07 Ehasan07 Public

  3. hajj-tracking-software hajj-tracking-software Public

    Hajj & Umrah agency SaaS for Bangladesh: pilgrims, QR-verified receipts, ledger statements, payroll, hotel rooming and shop POS. Bangla + English, BDT + SAR.

    TypeScript

  4. interesting-cursor-hover interesting-cursor-hover Public

    Glowing cursor trail over a changing background pattern. Canvas and JavaScript.

    JavaScript

  5. Protfolio Protfolio Public

    Personal portfolio of S M Ehasanul Haque: bilingual (English/Bangla), chat assistant, theme switcher. React + Vite + Tailwind.

    JavaScript

  6. takatracker takatracker Public

    Offline-first, double-entry personal accounting for Bangladesh, in Bangla and English. Next.js, NestJS, Prisma, PostgreSQL.

    TypeScript