Wocart
Wocart runs the whole cash-on-delivery business for Algerian stores: an Arabic-first checkout, phone verification, Yalidine, ZR Express, NOEST, Guepex and 82 EcoTrack couriers, your own drivers, and M
翻訳待ち
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗מימוש של שלב א׳ (MVP) לפי מסמך האפיון (גרסה 1.0): הרשמה ואזור אישי, אישור משתמשים ורישיונות, יומן זמינות, בקשות הזמנה ואישור מנהל, מניעת הזמנות כפולות, מיילים אוטומטיים, ניהול נהלים, ניהול הרכב והרשאות. הממשק בעברית, מימין לשמאל, ומותאם לטלפון ולמחשב.
דרישות: Node.js 22.13 ומעלה (המערכת משתמשת ב־SQLite המובנה ב־Node, בלי שרת מסד נתונים נפרד), או Docker.
start.cmd./start.shהסקריפט מתקין תלויות, יוצר נתוני דמו, מפעיל את השרת ופותח את https://localhost:3000. בפעם הראשונה הדפדפן יזהיר על התעודה, כי היא תעודה עצמית ל־localhost: בוחרים "מתקדם" ואז "המשך ל־localhost". כניסה: [email protected] / Password1.
start.cmd או npm run dev). בהפעלה מוצגת כתובת הרשת, למשל:
Network: https://192.168.1.23:3000 (other devices on the same Wi-Fi)
allow-wifi.cmd. הקובץ פותח את פורט 3000 ב־Firewall לרשתות פרטיות בלבד ומציג את הכתובות. רשת ה־Wi-Fi צריכה להיות מוגדרת כ־"Private": הגדרות ← רשת ואינטרנט ← Wi-Fi ← הרשת שלך ← רשת פרטית.winget install --id Cloudflare.cloudflared # פעם אחת (macOS: brew install cloudflared)
npm run tunnel # בחלון נוסף, כשהאפליקציה רצה
מוצגת כתובת https://<אקראי>.trycloudflare.com שנגישה מכל מקום, כל עוד שני החלונות פתוחים. אין צורך בחשבון ואין צורך לפתוח פורטים בראוטר.
Password1, שמופיעה ב־README וידועה לכולם. לפני הפרסום צריך להחליף סיסמאות (npm run create-admin -- --email [email protected] --password …), או להתחיל ממסד נתונים חדש בלי נתוני דמו.BASE_URL=<הכתובת> ב־.env ומפעילים מחדש.ngrok http https://localhost:3000 --url=<השם-שלכם>.ngrok-free.app. בשני המקרים מגדירים את BASE_URL לכתובת הקבועה.dev, ראו את המדריך docs/dev-environment.md. לאחסון בחינם (Oracle Cloud Always Free) ראו docs/free-hosting.md. לפריסה ב־Vercel ראו docs/vercel.md. שם מחברים מסד נתונים של Turso (חינם), כדי שהנתונים יישמרו גם אחרי העלאת גרסה חדשה.כשמוגדרים GOOGLE_CLIENT_ID ו־GOOGLE_CLIENT_SECRET, מופיע כפתור "התחברות עם Google" בדפי ההתחברות וההרשמה.
הגדרה (פעם אחת):
https://localhost:3000/auth/google/callback (פיתוח על המחשב)https://<הכתובת-בשרת>/auth/google/callback (למשל https://dev.129-146-10-20.sslip.io/auth/google/callback).env ומפעילים מחדש:
GOOGLE_CLIENT_ID=1234567890-abc.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=GOCSPX-...
בדיקת ההגדרה: ב־הגדרות (/admin/settings) יש לוח "התחברות עם Google" שמראה מה מוגדר ומה חסר, את הכתובות המדויקות שצריך להזין ב־Google Cloud Console ואת השגיאה האחרונה.
| מה רואים | הסיבה והפתרון |
|---|---|
| אין כפתור Google | GOOGLE_CLIENT_ID או GOOGLE_CLIENT_SECRET חסרים ב־.env (בלי # בתחילת השורה), או שהשרת לא הופעל מחדש אחרי העריכה |
| במקום כפתור יש הודעה "זמינה בכתובת…" | האתר נפתח בכתובת אחרת מ־BASE_URL (למשל 127.0.0.1 או IP של ה־Wi-Fi). פותחים את הכתובת שבהודעה |
דף שגיאה של Google: redirect_uri_mismatch | ב־Google Cloud Console, תחת Authorized redirect URIs, צריך להופיע בדיוק https://localhost:3000/auth/google/callback (או הכתובת שבלוח ההגדרות) |
| דף שגיאה של Google: "Access blocked" / "has not completed the Google verification process" | מסך ההסכמה במצב Testing: מוסיפים את החשבון תחת Test users, או לוחצים Publish app |
| "הגדרות Google שגויות" | ה־Client ID או ה־Client secret שגויים או הועתקו חלקית |
| "לא ניתן להתחבר לשרתי Google" | למחשב שעליו רץ השרת אין גישה לאינטרנט, או שחומת אש חוסמת אותו |
ההתחברות עם Google עובדת רק בכתובת שב־BASE_URL, כי Google מחזיר את המשתמש בדיוק לכתובת שנרשמה. Google לא מאפשר כתובות IP של הרשת הביתית (למשל 192.168.x.x), אז ממכשירים ב־Wi-Fi מתחברים עם סיסמה או קוד חד־פעמי.
מנהל יכול לפתוח חשבון בלי שהמשתמש יירשם בעצמו: משתמשים ← הוספת משתמש. ממלאים שם, ת"ז, טלפון ודואר אלקטרוני, ואפשר גם תפקיד (משתמש רגיל או מנהל), תאריך תוקף וצילום של רישיון הנהיגה.
This is the beginning of the README. Read the rest at the original. Read the full README ↗