Logo Lanfrica

basiru27/gmarkt

Domaine:

digital infrastructure

Type de record:

software
Créateur:
bas
Hôte:
A mobile-first, offline-capable classifieds PWA connecting buyers and sellers across The Gambia. Built with React 19, Express, and Supabase — featuring background sync, image compression for low-bandwidth, and WhatsApp-native contact. =18" /> GMarkt — The Gambia's Marketplace A mobile-first, offline-capable classifieds progressive web application connecting buyers and sellers across the Greater Banjul Area. Built for low-bandwidth environments with background sync, image compression, and WhatsApp-native seller contact. --- ## Table of Contents - Features - Tech Stack - Architecture Overview - Prerequisites - Getting Started - 1. Clone the Repository - 2. Set Up Environment Variables - 3. Run the Database Schema - 4. Install Dependencies - 5. Start the Development Servers - 6. Seed the Database (Optional) - Environment Variables - Available Scripts - Client (Frontend) - Server (Backend) - API Documentation - Public Endpoints - Authenticated Endpoints - Admin Endpoints - Notifications - Folder Structure - Database Schema - Contributing - License --- ## Features ### For Buyers - **Browse & Search** — Filter listings by category, area (zone/neighbourhood), price, and condition. Full-text search with autocomplete suggestions. - **Listing Detail** — View seller information, rating stats, review history, and multiple images per listing. - **Reviews & Ratings** — Leave 1–5 star reviews with comments after clicking the WhatsApp contact button (contact-event gating prevents review bombing). - **WhatsApp Contact** — One-tap WhatsApp messaging for every listing. - **Save Listings** — Bookmark listings to revisit later. - **Report Listings** — Flag suspicious or inappropriate listings and users. ### For Sellers - **Create & Manage Listings** — Post new listings with title, description, price, condition, location, and up to 5 images. - **Image Upload** — Automatic compression via `browser-image-compression` (resized to 800px, ~300KB) before uploading to Supabase Storage. - **Bump Listings** — Boost a listing to the top of the feed (24h cooldown per user). - **Analytics** — View listing view counts and performance metrics on the seller dashboard. - **Edit / Delete Listings** — Full CRUD on you …