尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證A web-based preorder management platform that helps community fundraising events manage food orders, payment confirmations, and pickup preparation through a centralized website.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
A full-stack web-based preorder management platform for community fundraising events in New Zealand. Built to help Myanmar community organizations manage food orders, payment confirmations, and event pickups. • Browse Events — View upcoming fundraising events with details • Pre-order Food — Select items from menu, choose pickup locati [README 설치·사용 부분 발췌] Getting Started • Node.js v20+ • MySQL database • AWS S3 bucket (for file uploads)檢視完整 README ↗
A full-stack web-based preorder management platform for community fundraising events in New Zealand. Built to help Myanmar community organizations manage food orders, payment confirmations, and event pickups.
🔗 Live URL: nwayoobazaar.netlify.app
| Phase | Duration | Features |
|---|---|---|
| Phase 1 | Jul 31 - Aug 31, 2026 (5 weeks) | Core platform: Auth, Events, Menu, Orders, Exports, Dashboard |
| Change Request | Sep | Feedback and Enhancements |
| Phase 2 | Planned | AI Chatbot, Real-time Notifications, Advanced Analytics, Clone past events with menu items |
Jul 2026 ████░░░░░░░░░░░░░░░░░░░░░░░░░░░░ Setup & Auth
Aug 2026 ████████████████████████████████ Core Features
Sep 2026 ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ Change Request
Oct 2026 ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ Phase 2 Planning
| Homepage | Menu Ordering | Order Tracking |
|---|---|---|
| Dashboard | Analytics | Export |
|---|---|---|
| Event Management | Orders Management | Items Management |
|---|---|---|
| Layer | Technology |
|---|---|
| Frontend | React 19, TypeScript, TailwindCSS, Vite |
| Backend | Express.js, TypeScript, Prisma ORM |
| Database | MySQL (Aiven) |
| Storage | Amazon S3 (payment screenshots) |
| Hosting | Netlify (Frontend + Serverless Functions) |
| CI/CD | GitHub Actions, Husky, lint-staged |
┌─────────────────────────────────────────────────────────────┐
│ Frontend (React) │
│ Pages: Home, Events, Menu, Orders, Dashboard, Analytics │
│ Components: EventCard, OrderEditModal, ExportPage │
└──────────────────────────┬──────────────────────────────────┘
│ API calls
▼
┌─────────────────────────────────────────────────────────────┐
│ Backend (Express + Prisma) │
│ Controllers → Services → Repositories → Prisma → MySQL │
│ Features: Auth, Events, Menu, Orders, Exports │
└──────────────────────────┬──────────────────────────────────┘
│
┌──────┴──────┐
▼ ▼
┌─────────┐ ┌─────────┐
│ MySQL │ │ S3 │
│ (Aiven) │ │ (AWS) │
└─────────┘ └─────────┘
Nway-Oo-Bazaar/
├── app/
│ ├── packages/
│ │ ├── client/ # React frontend
│ │ │ └── src/
│ │ │ ├── pages/ # Page components
│ │ │ ├── components/ # Reusable components
│ │ │ └── lib/ # Utilities, API config
│ │ └── server/ # Express backend
│ │ ├── controllers/ # Request handlers
│ │ ├── services/ # Business logic
│ │ ├── repositories/ # Database queries
│ │ └── prisma/ # Schema, migrations
│ └── package.json # Workspace config
├── .github/ # CI/CD workflows
├── screenshots/ # App screenshots
└── README.md
# Clone the repository
git clone https://github.com/sandarma/Nway-Oo-Bazaar.git
cd Nway-Oo-Bazaar
# Install dependencies
cd app && npm install
# Set up environment variables
cp ../.env.example app/packages/server/.env
# Edit .env with your credentials
# Run database migrations
cd packages/server && npx prisma migrate dev
# Start development servers
cd .. && npm run dev
The app will be available at:
http://localhost:5173http://localhost:3000| Variable | Description |
|---|---|
DATABASE_URL | MySQL connection string |
MY_AWS_REGION | AWS region for S3 |
MY_AWS_ACCESS_KEY_ID | AWS access key |
MY_AWS_SECRET_ACCESS_KEY | AWS secret key |
MY_AWS_S3_BUCKET_NAME | S3 bucket name |
Backend deployed as Netlify Functions using serverless-http, allowing Express to run serverlessly without cold start issues.
Payment screenshots stored in private S3 bucket, accessed via /api/s3/:key proxy endpoint. Keeps bucket secure while allowing authorized access.
Order numbers use event-specific prefixes (e.g., 8888-00001) instead of date-based format. Enables unique order numbering across events.
Menu items use orderIndex field for display ordering. Organizers can drag & drop to reorder items as they appear to customers.
Dashboard shows top 10 selling items from previous events, helping organizers plan menus based on past performance.
| Challenge | Solution |
|---|---|
| Cold starts on serverless | Used serverless-http with Express |
| Private S3 bucket access | Built proxy endpoint with auth |
| Menu ordering flexibility | Added drag & drop with orderIndex |
| Order numbering across events | Implemented event code prefix system |
| Historical data insights | Added top selling items from previous events |
Sandar Min Aye
This project is licensed under the MIT License - see the LICENSE file for details.