Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
درگاه مدیریتی مکثسیلور؛ دسترسی به داشبورد قلمرو، تحلیل فروش و نقشه فرایند فروش.
Translation pending
BusinessJavaScript · HTMLGitHub @Soheil-AghayaniOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Max Silver management portal with an interactive CEO dashboard and browser-local sales analysis.
Taken from the repository README
Loading the full README.
Read the full README ↗The Max Silver portal is the internal workspace of Max Silver, an Iranian manufacturer of commercial kitchen equipment. It brings the CEO dashboard, the customer database, the product catalog with proforma invoices, the sales process, the brand books and the team's conversations into one Persian, right-to-left app that works in a browser and installs on a phone like a native app.
It is a static site: plain HTML, CSS and JavaScript with no build step, hosted on GitHub Pages. Firebase (Authentication and Firestore, Spark plan) adds sign-in, roles, shared data and live notifications. Everything that can work without a connection does.
درگاه مکثسیلور یک برنامهٔ وب نصبپذیر (PWA) برای مدیریت فروش است: داشبورد مدیرعامل، پایگاه مشتریان، کاتالوگ و پیشفاکتور، نقشهٔ فروش، برندبوک و گفتوگوی تیم. هر نقش فقط بخشهای خودش را میبیند و اجرای واقعی دسترسی با قوانین Firestore است. جزئیات تنظیمات در راهنمای مدیر آمده است.
| Way | Best for | What it needs |
|---|---|---|
| Web | A desktop or phone browser | Nothing to install. Open the live portal and sign in with the account the administrator created. |
| Installed app (PWA) | Daily use on a phone or desktop | Use the install prompt or the browser's "Add to home screen". The app opens full screen, with its own icon, and starts offline. |
| QR code | Sharing the portal in a meeting | The QR button on any page always encodes the main page, never an inner address. |
Signed-out visitors see only the home page, the sign-in panel and the contact form. Everything else is hidden by role and enforced by the database rules.
| Section | File | What it does |
|---|---|---|
| Home | index.html | Entry point with a card for every section the role may open. |
| CEO dashboard | ceo-dashboard.html | Interactive map of 31 provinces and six sales regions, year comparison, sharing by QR. |
| Customers | customers.html | Customer database keyed by accounting code: list, a page per customer, sales per year, group and owner, contact details, import from the accounting reports and branded Excel template. |
| Sales analysis | sales-analysis.html | Filters, charts and tables for customer and product reports, processed only in the browser. |
| Product catalog | product-catalog.html | 343 products from three brands with search, filters, comparison and the proforma sheet. |
| Prices | prices.html | List prices of the catalog in toman (TurboMax list of 14 Shahrivar 1405 as the base, assets/price-list.json). Everyone signed in sees them on the catalog cards, in the detail and as the starting price of a proforma line; sales management, management and organizational technology edit them here (Firestore , rules in ), reset a price to the list and export Excel. The same people take a product code out of use (optional replacement code, Firestore ): it disappears from the catalog, planner and new proformas, and old proformas show a warning. |
Navigation is a short dock: home, the sections you pinned, and your account. Every section lives on the home page, where a star on each card adds or removes it from the dock (up to three on a phone, six on a wide screen). A bell on the home banner and a "what is new" section list the changes shipped to the app; a glowing red dot means something is unread.
| Step | What happens | Why it matters |
|---|---|---|
| 01 · Create | A salesperson builds the proforma in the catalog. The number is assigned automatically, for example SE-051018-AB-003. | The first two letters show who issued it, before anyone reads the name. |
| 02 · Send | One tap sends it to the account manager as a conversation, with the customer, amount and terms. | The account manager is notified at once and can open the proforma from the cloud. |
| 03 · Review | The account manager approves it, or refuses it by writing a reason. A refusal goes as a letter to the sales manager. | Prices and terms are checked by someone independent of the seller. |
| 04 · Decide | The sales manager accepts the refusal (the proforma leaves the app and stays in the archive) or declines it (the proforma stays valid). | Nothing is deleted without a second person agreeing, and the record is kept. |
Document numbers follow ROLE-yymmdd-OWNER-NNN. The sequence continues from the highest number already used and is moved to the next free one if another device took it first.
Access follows least privilege. The table is kept in assets/roles.js and mirrored in firestore.rules; the rules are the real enforcement, hiding things on the page is only navigation.
| Role | Key | Doc code | Typical access |
|---|---|---|---|
| Organizational technology | manager | IT | Everything, plus accounts, roles and codes. |
| Management (CEO and board) | ceo | CE | Everything, approves rates and results. |
| Sales manager | sales_manager | SM | All proformas and customers, team and territories, refusal decisions. |
| Sales specialist | visitor | SE | Own proformas and own customers, own regional commission. |
| Account manager | account_manager | AM | All proformas and customers, reviews and refuses with a reason. |
| Finance and accounting | finance | FN | Commission rates and monthly basis, all proformas. |
| Operations | operations | OP | Brand books, conversations. |
| Production | production | PR | Brand books, conversations. |
| After-sales service | service | SV | External service requests, conversations. |
| Marketing and brand | marketing | MK | Advertising strategy, brand books. |
| Human resources | hr | HR | Names, phones, national ID and birth date of staff; account removal. |
Prerequisite: any static file server. Python is enough.
git clone https://github.com/Soheil-Aghayani/MaxSilver.git
cd MaxSilver
python -m http.server 8769
Open http://127.0.0.1:8769/. No CDN or application server is required.
Validate the static contracts (needs Node.js 20 or newer):
node validate_dashboard.mjs
node validate_portal.mjs
node validate_pwa.mjs
assets/firebase-config.js.firestore.rules from Firestore → Rules. Pushing to git does not change the rules.users/{uid} document with a role, name and optional code. Until that document exists, a signed-in account has no access.The full administrator procedure, role details and operating notes are in the Persian administrator guide.
Every change to a page or asset bumps the ?v= stamp in the HTML files and VERSION in service-worker.js, so a stale cache can never mix with new pages.
MaxSilver/
├── index.html … customers.html # Pages; each carries the shared header
├── assets/
│ ├── site-shell.2.css # Shared header, dock and sheet styles
│ ├── roles.js # Role table and document codes
│ ├── role-gate.js # Hides what a role cannot use
│ ├── dock.js # Dock, grouped sheet and pins
│ ├── sync.js # Cloud sync and sending proformas
│ ├── notify.js # Live counts and notifications
│ ├── catalog.js / catalog.json # Catalog and proforma sheet
│ ├── customers.js # Customer database and import
│ ├── panel.js # Panel, messenger, review and team
│ └── vendor/ # Firebase SDK, SheetJS, QR, html2canvas
├── firestore.rules # Database rules (the real access control)
├── service-worker.js # Offline shell and versioned assets
├── tools/ # Builders for catalog, customers, advertising
├── docs/ # Hero image and the Persian administrator guide
└── validate_*.mjs # Static validators
Planned, unranked directions: an Iranian VPS with Firebase as fallback, multiple companies and branch invoice formats, a customer panel and online shop with SMS sign-in, warehouse and logistics, richer chat with media, a 3D product view and a floor-design planner with real dimensions and safety rules.
Prepared by Mahmoud Ghorbani and Soheil Aghayani. Third-party licences (Estedad font, qrcode-generator, SheetJS and others) are listed in LICENSES.md.
list_pricesfirestore.rulesitem_status| Occasions | events.html | Calendar of Iranian, religious, global and food-service days (Nowruz, Yalda, Halloween, World Coffee Day, Chef's Day…) for the next year with a countdown. Important ones add a greeting slide to the home banner and a bell reminder for marketing, sales management and management. Every date is computed: fixed days directly, Chaharshanbe Suri from the last Wednesday of the year, and lunar ones from the Islamic calendar (they can differ by a day from the official calendar and are marked «تقریبی»; an official date entered in assets/events.js for a Jalali year wins). Data: time.ir. |
| Business planner | planner.html | A guided first plan for a café, restaurant or fast-food: pick a business, a size and what you serve, get one suggested machine per job, swap or remove each, see the missing supporting items, and send the plan to the proforma. A budget question appears once products carry a level (assets/product-tiers.json, filled with tools/apply_tiers.py). Without an account the same page is public: no prices, and the result is a purchase request on a Chef Market sheet (assets/invoice-templates.js) sent to sales through a short anonymous Firebase sign-in (assets/request-lib.js). |
| Purchase requests | crm.html | Sales follow-up of requests sent from the public planner: list with filters, a page per request (customer, receiver, items without prices), the decision «needs a call / send to warehouse / send to production», status, assignment by the sales manager, a history of calls and notes, and a button that turns the request into a Max Silver proforma. Firestore requests; the bell announces new ones. |
| Sales process | sales-process.html | The nine-stage sales map with owners, the settlement process, controls, reports and required documents. |
| Advertising strategy | advertising.html | The advertising tree (print, promotional gifts, online) with search and the reference map. |
| Brand books | brand-books.html | Logo, colours, fonts and voice of the four group brands, with PDF export. |
| Panel | panel.html | Personal profile and look, proformas, conversations, commission, team and role administration. |
| Legal pages | legal.html | Public drafts for visitors with no account: terms, privacy (with the cookie and storage notice), shipping, returns and cancellations, limitation of liability and business information. Texts live in assets/legal.js; every fact only the owner can give is marked «[نیاز به تأیید]» and set DRAFT = false after approval. The request form stores the accepted version (TERMS in assets/request-lib.js). |
| Contact | contact.html | The only way in for people without an account: sales, after-sales or management. |