# SafetyAlerts Nigeria
A real-time community safety alert PWA for Nigeria. Report incidents, receive instant notifications, and help keep your community safe.
## Features
### User App (`/app`)
- **Real-time Alerts** - Get instant push notifications for incidents in your monitored areas
- **Report Incidents** - Submit reports with location, type, and description
- **Community Verification** - Confirm or deny reports to build trust scores
- **Multiple Areas** - Monitor home, work, and anywhere you care about
- **Offline Support** - View cached alerts even without internet
### Admin Dashboard (`/admin`)
- **Report Moderation** - Approve or remove reports with audit trail
- **User Management** - View users, issue warnings, suspend or ban
- **Team Management** - Invite admins with role-based permissions
- **Audit Log** - Complete history of all admin actions
- **Analytics Dashboard** - Reports today, active alerts, user stats
## Tech Stack
- **Next.js 14** - App Router, Server Components, API Routes
- **Supabase** - PostgreSQL database, real-time subscriptions, RLS
- **Tailwind CSS** - Utility-first styling
- **Framer Motion** - Smooth animations
- **next-pwa** - Service worker, offline support, installable
- **Africa's Talking** - SMS OTP for phone verification
- **Web Push** - Browser push notifications
## Getting Started
### Prerequisites
- Node.js 18+
- Supabase account
- Africa's Talking account (for SMS)
### 1. Clone and Install
```bash
git clone
github.com
cd nigeria-security-alert
npm install
```
### 2. Setup Environment Variables
Copy `.env.example` to `.env.local` and fill in your values:
```bash
cp .env.example .env.local
```
Required variables:
```env
# Supabase
NEXT_PUBLIC_SUPABASE_URL=
your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key
# Admin Authentication
ADMIN_JWT_SECRET=generate_a_secure_random_string_here
# Africa's Tal …