Skip to content

szymonzmyslony/buzzarek

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Buzzarek

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.

Overview

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.

Architecture

/
├── backend/           # PostGraphile API service
├── supabase/         # Database and edge functions
└── app/              # Cross-platform mobile & web client

Technical Decisions

  • 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

Getting Started

  1. Setup Supabase infrastructure:
cd supabase
# Follow README.md instructions
  1. Start the GraphQL API:
cd backend
npm install
npm run start:watch
  1. Launch the app:
cd app
bun install
bun ios     # iOS
bun android # Android
bun web     # Web

Environment Setup

Backend Service

DATABASE_URL=postgresql://user:password@host:5432/dbname
JWT_SECRET=your_jwt_secret
PORT=5001
POSTGRAPHILE_PREPARED_STATEMENT_CACHE_SIZE=0

Frontend App

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

Stripe Testing

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

Deployment Secrets

Configure in GitHub repository settings:

  • SSH_PRIVATE_KEY: SSH key for server access
  • SERVER_HOST: Deployment server hostname
  • SERVER_USER: SSH user for deployment

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:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published