CHEW Arewa Forum — A professional platform for Community Health Extension Workers to connect, share information, access updates, and build stronger professional relationships.
# CHEW-AREWA-FORUM Mobile App
A cross-platform mobile forum application built with **Expo** and **Supabase**.
## Features
- ✅ User Authentication (Signup/Login)
- ✅ Email + Password authentication
- ✅ Secure session management
- ✅ User profiles
- ✅ Password reset
- ✅ Dark mode support
## Tech Stack
- **Frontend**: Expo (React Native)
- **Backend**: Supabase (PostgreSQL + Auth)
- **Navigation**: React Navigation
- **UI**: React Native Paper (Material Design)
- **State Management**: Context API
## Prerequisites
- Node.js 14+
- npm or yarn
- Expo CLI: `npm install -g expo-cli`
- Supabase account (free tier available)
## Setup Instructions
### 1. Clone Repository
```bash
git clone
github.com
cd CHEW-AREWA-FORUM
```
### 2. Install Dependencies
```bash
npm install
```
### 3. Supabase Setup
#### Create Supabase Project
1. Go to supabase.com
2. Sign up / Login
3. Create a new project
4. Note your **Project URL** and **Anon Public Key**
#### Create Database Tables
Run these SQL queries in Supabase SQL Editor:
```sql
-- Users table (auto-created by Supabase Auth)
-- Additional user info
CREATE TABLE public.user_profiles (
id UUID REFERENCES auth.users(id) ON DELETE CASCADE PRIMARY KEY,
username VARCHAR(50) UNIQUE NOT NULL,
full_name VARCHAR(255),
avatar_url TEXT,
bio TEXT,
created_at TIMESTAMP DEFAULT now(),
updated_at TIMESTAMP DEFAULT now()
);
-- Enable RLS
ALTER TABLE public.user_profiles ENABLE ROW LEVEL SECURITY;
-- RLS Policies
CREATE POLICY "Users can view all profiles"
ON public.user_profiles
FOR SELECT USING (true);
CREATE POLICY "Users can update own profile"
ON public.user_profiles
FOR UPDATE USING (auth.uid() = id);
CREATE POLICY "Users can insert own profile"
ON public.user_profiles
FOR INSERT WITH CHECK (auth.uid() = id);
```
### 4. Environment Configuration
Create `.env.local` file:
```
EXPO_PUBLIC_SUPABASE_URL=your_supabase_url
EXPO_PUBLIC_SUPABASE_ANON_KEY=your_anon_key
```
### 5. Run the App
`` …