尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证基于网页的预购管理平台,帮助社区筹款活动管理食品订单、付款确认和取货准备,通过集中式网站进行。
AI 翻译
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.