Tech4R is a digital initiative focused on disaster resilience through technology. This website showcases our mission, projects, events, and ways to get involved.
- Next.js (App Router)
- TypeScript
- Tailwind CSS
- Supabase (PostgreSQL + Auth + Storage)
- Staging: https://tech4r.vercel.app/
- Production: TBD
git clone https://github.com/your-org/tech4r.git
cd tech4rnpm installCreate a .env.local file at the root of the project and add the following:
NEXT_PUBLIC_SUPABASE_URL=https://your-project-id.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-public-api-keyβ These values will be shared with the internal dev team.
We are using a shared Supabase instance.
- β You do not need to create your own instance.
- β You do not need to seed data locally.
- β You can read/write using the credentials above.
- β Ensure RLS (Row Level Security) is disabled on all necessary tables.
If you're unsure which tables are affected, ask the Scrum Master for the Supabase SQL schema or admin access.
npm run devThen visit http://localhost:3000 in your browser.
tech4r/
βββ .next/ # Next.js build output
βββ node_modules/ # Node.js dependencies
βββ public/ # Static files
βββ src/
β βββ app/ # Next.js app directory (App Router)
β β βββ globals.css # Global styles
β β βββ layout.tsx # Root layout component
β β βββ page.tsx # Home page component
β β βββ favicon.ico # Site favicon
β βββ components/ # Reusable UI components
β βββ lib/ # Utility functions and shared code
β βββ supabaseClient.ts # Supabase client configuration
βββ .gitignore # Git ignore rules
βββ eslint.config.mjs # ESLint configuration
βββ next-env.d.ts # Next.js TypeScript declarations
βββ next.config.ts # Next.js configuration
βββ package-lock.json # Dependency lock file
βββ package.json # Project metadata and dependencies
βββ postcss.config.mjs # PostCSS configuration
βββ README.md # Project documentation
βββ tsconfig.json # TypeScript configuration
We use a centralized Supabase client instance:
import { createClient } from '@supabase/supabase-js';
const supabase = createClient(
process.env.NEXT_PUBLIC_SUPABASE_URL!,
process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!
);
export default supabase;The site should be verified for the following:
- β Mobile responsiveness
- β SEO optimization (meta tags, alt texts, etc.)
- β Cross-browser compatibility
- β Post-launch: Analytics setup & feedback collection
| Table Name | Description |
|---|---|
projects |
Project cards (name, description, etc.) |
categories |
Categories (each project belongs to one) |
events |
Past/upcoming events |
event_types |
Reference table for event type (training, hackathon, etc.) |
volunteers |
Testimonials & open volunteer roles |
partners |
Partner logos & contact info |
You do not need to recreate these tables locally.
For access or help with setup, contact the Scrum Master at josue.ushindi@undp.org
- π‘ Project Name: Tech4R β Digital Solutions for Disaster Resilience
- π οΈ Lead Tech Stack: Next.js + Supabase + Tailwind CSS
- π Purpose: Showcase mission, events, and enable collaboration via volunteering & partnerships.