Badante24h is a modern, mobile-first Progressive Web App (PWA) designed to intuitively connect families and elderly individuals with personal care assistants (caregivers, 24h caregivers, and babysitters).
Built to replicate the immediate, frictionless user experience of popular matching applications, the platform leverages advanced geolocation (PostGIS) to seamlessly surface the best-suited profiles nearby.
- 📍 Geolocated Matching: Instantly discover caregivers and babysitters within a specific radius using powerful spatial queries (WGS 84 / SRID 4326).
- 📱 Frictionless UX: A highly interactive, "dating-app style" interface tailored for mobile web (PWA), ensuring ease of use for less tech-savvy users.
- 💬 Real-Time Chat: Integrated instant messaging system to facilitate direct, secure communication between families and caregivers.
- 🌐 Bilingual Support: Full internationalization (i18n) supporting both Italian (
it) and English (en) right out of the box. - 🔔 Web Push Notifications: Keep users engaged with native-like push notifications for new messages, matches, and profile verifications.
- 🛡️ Secure Verification: Dedicated admin dashboard for reviewing and verifying user identities and professional documents.
Our architecture is built for speed, scalability, and an app-like feel.
- Framework: Next.js (App Router)
- Language: TypeScript
- Styling: Tailwind CSS + UI Components (shadcn/ui inspired)
- State Management: Zustand (
stores/filters-store.ts) + React Hooks - i18n:
next-intl - PWA: Custom Service Workers (
public/sw.js) and Web App Manifest
- Database: PostgreSQL 15 + PostGIS 3.x (via Supabase)
- BaaS (Backend-as-a-Service): Supabase (Auth, Postgres, Realtime, Storage)
- Schema Language: Italian (Legacy fields mapping included in migrations)
📐 ### Architecture & Database Documentation
For deep dives into the system design, please refer to the internal /docs directory:
- Product Requirements Document (PRD)
- Application Architecture
- Database Schema (v2.0, PostGIS WGS 84)
- Tech Stack Details
Badante24h/
├── app/ # Next.js App Router (Pages, Layouts, API Routes)
│ ├── (admin)/ # Admin Dashboard & Verification Panel
│ ├── (app)/ # Main User Application (Discover, Chat, Profile)
│ ├── (auth)/ # Authentication Flows (Login, Signup, Reset)
│ └── api/ # API Endpoints (e.g., Push Notifications)
├── components/ # Reusable UI, Layout, and Feature Components
├── docs/ # Project Documentation (PRD, Architecture, Schema)
├── hooks/ # Custom React Hooks (Geolocation, Realtime, User state)
├── lib/ # Utility functions and Supabase clients
├── messages/ # i18n JSON dictionaries (en.json, it.json)
├── public/ # Static assets, Icons, Manifest, and Service Worker
├── stores/ # Zustand Global State Management
├── supabase/ # Supabase Migrations and Configuration
└── types/ # TypeScript Interfaces and Database Types