Nway Oo Bazaar: Fundraising event platform — Browse events, pre-order food, and manage payments for community fundraising events.
CommerceTypeScript · CSSGitHub @sandarmaOnlineOwner 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
A web-based preorder management platform that helps community fundraising events manage food orders, payment confirmations, and pickup preparation through a centralized website.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
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)Read the full 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.