Buzzarek.com A farm-to-table marketplace platform connecting Polish farmers directly with consumers through group purchasing, processing ~200 transactions weekly. Built with modern TypeScript stack, focusing on performance and scalability.
The platform enables direct farmer-to-consumer sales through group purchasing mechanics inspired by Pinduoduo, optimized for the Polish market. Features include real-time order tracking, group purchase coordination, and native mobile/web support.
/
├── backend/ # PostGraphile API service
├── supabase/ # Database and edge functions
└── app/ # Cross-platform mobile & web client
-
GraphQL API Layer (PostGraphile): Chosen over Supabase's pg_graphql for:
- Support for custom PostgreSQL functions
- Better schema generation and naming conventions
- Enhanced type safety with Relay.js integration
- Improved development experience with GraphiQL
-
Supabase Backend: Handles:
- Authentication (phone-based for Polish numbers)
- Real-time updates
- Edge function deployment
- Database hosting
-
Cross-platform App: Built with:
- Expo + Expo Router for universal navigation
- Relay.js for type-safe GraphQL data fetching
- Native Stripe integration for payments
- Offline support for rural areas
- Setup Supabase infrastructure:
cd supabase
# Follow README.md instructions
- Start the GraphQL API:
cd backend
npm install
npm run start:watch
- Launch the app:
cd app
bun install
bun ios # iOS
bun android # Android
bun web # Web
DATABASE_URL=postgresql://user:password@host:5432/dbname
JWT_SECRET=your_jwt_secret
PORT=5001
POSTGRAPHILE_PREPARED_STATEMENT_CACHE_SIZE=0
EXPO_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_...
EXPO_PUBLIC_SERVER_URL=https://YOURSERVERNAME/api/v1/graphql
EXPO_PUBLIC_SUPABASE_URL=your-project.supabase.co
EXPO_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
All deployed Stripe keys are in test mode. To make test payments, use:
- Card number: 4242 4242 4242 4242
- CVC: Any 3 digits
- Expiry date: Any future date
Configure in GitHub repository settings:
SSH_PRIVATE_KEY
: SSH key for server accessSERVER_HOST
: Deployment server hostnameSERVER_USER
: SSH user for deployment
The project uses GitHub Actions for automated deployment:
- Backend API deploys via Docker to a dedicated server
- Frontend web app deploys to /var/www/buzzarek
See individual service READMEs for detailed development guides: