1.9 KiB
1.9 KiB
Uber Wrapper (Node.js + Express + SQLite)
Generic multi-merchant Uber Eats API wrapper for POS integrations.
What this gives you
- Multi-merchant model (each restaurant connects its own Uber account)
- OAuth flow support and manual token storage support
- Generic passthrough endpoint to cover all Uber APIs
- Business shortcuts for common menu/order/store flows
- Webhook ingestion endpoint
- SQLite persistence with adapter boundary for future MySQL/Postgres migration
- Swagger UI docs + Postman collection
Quick Start
- Install dependencies
npm install
- Configure env
copy .env.example .env
- Start server
npm run dev
- Open docs
- Swagger UI:
http://localhost:8080/docs - Health:
http://localhost:8080/health
Folder Structure
src/application sourcesrc/db/adapter.jsdatabase abstraction boundarydocs/developer-portal/human-friendly docsdocs/openapi/exported OpenAPI artifactspostman/Postman collection
Database Migration Strategy
All controllers/services consume repositories through src/db/adapter.js.
To switch from SQLite to MySQL/Postgres later:
- Implement repository methods for new DB backend.
- Replace exports in
src/db/adapter.js. - Keep controllers/routes unchanged.
Scope (Current Phase)
Current implementation focus is Uber Eats Marketplace APIs only:
- Authentication (OAuth)
- Stores
- Menus
- Orders
- Marketplace webhooks
Uber Direct is intentionally deferred to a later phase.
Important Note About Endpoint Coverage
This wrapper includes:
- A generic endpoint (
POST /api/v1/uber/request) for all current/future Uber Eats endpoints. - Pre-built shortcuts for high-frequency flows (menu/orders/store hours).
When you finalize your Uber docs copy, update src/config/uberEndpoints.js with exact endpoint paths from your approved Uber docs.