← Live-Feed

Next.js + Postgres: build 7 marketplace API connectors, then a React Native app

Budget: $5000.0 FIXED / ⭐ 5.00 (3) United States

typescript, postgresql, api-integration, next.js, node.js, react-native, expo.io

Bevorzugte Qualifikationen

  • Erfahrung: Fortgeschritten
We run a retail analytics portal for a multi-banner US grocery group. It is live on Vercel: Next.js 14 App Router, TypeScript, Tailwind, Postgres. About 40 portal pages, real users, 978,000 order rows already in the warehouse. Right now every row gets there by someone downloading a CSV from a delivery marketplace and uploading it. I want that replaced by scheduled API pulls, and I want a phone app on top of the same data. Two milestones. Bid on both, and give me a number for each separately. MILESTONE 1: seven partner connectors The connector framework is already written and tested: OAuth and key auth, retry, backoff, rate limiting, a circuit breaker, watermark cursors, a run ledger, banner name normalization, quarantine for unresolvable rows, and republish after a sync. It lives in lib/connectors/. One reference partner (Instacart) is implemented against it. A new partner implements one function, fetchPage, plus its config and its tests. You would write seven more: Uber Eats, Uber Eats Market, Uber Eats Cocina, DoorDash, DoorDash Cocina, Shipt, Amazon. I supply credentials and the merchant portal access. Definition of done for each connector, and I will check it: - Backfill one known week from the API. - Reconcile that week against the same week already in the warehouse from the CSV path. Order counts, GMV and basket must tie. Any gap gets explained, not rounded away. - Unit tests on the field mapping, plus one integration test against a real Postgres. - Rows that cannot be attributed to a banner land in quarantine with the raw string. The platforms ship different columns and I know exactly which ones. Instacart's weekly export is seven columns. Shipt is the only one that reports a substitution rate. No platform sends a refund reason. Do not build a field the API does not return. MILESTONE 2: React Native companion app, iOS and Android Two read-only endpoints already exist: /api/portal/mobile/overview and /api/portal/mobile/banners. They return the same server-derived view models the web pages render, behind the same session auth and rate limiting, with de-identification applied. I want an Expo app that: - Logs in against the existing portal session, keeps it in secure storage, handles expiry. - Executive summary: headline KPIs, weekly revenue against prior year, biggest movers. - Banner and channel breakdowns, with the same global filters the web portal uses (banner, platform, period, compare to prior year). - Push notification when a weekly sync publishes a new snapshot. - Offline: last snapshot cached and readable with no signal, labelled as stale. - Ships to TestFlight and to a Play internal track. I own both developer accounts. You will need one or two more mobile endpoints. Write them in the same repo, in the same style as the two that exist, and they go through the same auth guard. No new auth system. STACK Next.js 14 App Router, TypeScript, Tailwind, Postgres (Supabase), Vercel, Recharts, Framer Motion. Expo / React Native for the app. Everything in one private GitHub repo. HOW I WORK Small PRs against a feature branch. Tests with every PR. I review code, not screenshots. I will hand you a repo with a working local Postgres path and a documented test command. Nothing merges without the test lane green. WHO I WANT Someone who has shipped a real third-party API integration where the numbers had to tie, and who has put a React Native app in both stores. I do not need a team of five. I would rather have one strong developer than an agency handoff. Timezone does not matter. Cost does, so tell me what you would charge and what you would cut. Start: immediately. Milestone 1 first, milestone 2 follows on the same contract if the first one lands clean.
Auf Upwork öffnen

AI proposal draft

Generate a short cover letter for this job. Edit before sending.

Sign in to generate an AI proposal draft.

Anmelden