A comprehensive maturity assessment platform for organizational resilience, built with Next.js 16 and Supabase.
This platform provides self-service maturity assessments across 12 resilience domains:
- Operational Resilience (ISO 22301)
- Financial Resilience (ISO 22301)
- Cyber Resilience (ISO 27001, NIST CSF)
- Supply Chain Resilience (ISO 28001)
- Incident Management (ISO 22320)
- Crisis Management (ISO 22361)
- Resilience by Design (ISO 31000)
- Business Continuity (ISO 22301)
- Disaster Recovery (ISO 27031)
- Data Privacy (ISO 27701, GDPR)
- Third-Party Risk Management (ISO 27036)
- Physical & Environmental Security (ISO 27001)
- Framework: Next.js 16 (App Router + Turbopack)
- Database: Supabase (PostgreSQL with Row Level Security)
- Styling: Tailwind CSS
- UI Components: Custom components + shadcn/ui
- Language: TypeScript
- Deployment: Vercel
- Node.js 18.x or higher
- npm 9.x or higher
- Supabase account (for database)
- Clone the repository:
git clone https://github.com/SS2608-dev/Resilience.git
cd Resilience- Install dependencies:
npm install- Set up environment variables:
cp .env.example .env.local- Configure
.env.localwith your Supabase credentials:
NEXT_PUBLIC_SUPABASE_URL=https://[your-project].supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=[your-anon-key]
NEXT_PUBLIC_APP_URL=http://localhost:3000
NODE_ENV=development-
Set up the database:
- Run the SQL migrations in
database/migrations/in Supabase SQL Editor - Migrations are numbered and should be run in order
- Run the SQL migrations in
-
Start the development server:
npm run devOpen http://localhost:3000 in your browser.
.
├── app/ # Next.js App Router pages & API routes
│ ├── api/ # API endpoints
│ ├── assessments/ # Assessment pages
│ └── ...
├── components/ # React components
│ ├── assessment/ # Assessment-specific components
│ ├── layout/ # Layout components
│ └── ui/ # Reusable UI components
├── database/ # Database schema & migrations
│ └── migrations/ # SQL migration files
├── docs/ # Documentation
│ ├── deployment/ # Deployment guides
│ ├── development/ # Development guides
│ └── security/ # Security documentation
├── lib/ # Shared utilities & configuration
│ ├── assessment/ # Assessment calculation logic
│ ├── config/ # Application configuration
│ ├── data/ # Data access layer
│ ├── questions/ # Legacy hardcoded questions
│ ├── supabase/ # Supabase clients
│ └── types/ # TypeScript types
└── src/ # Source components
└── components/ # Canonical component locations
# Development
npm run dev # Start development server with hot reload
# Production
npm run build # Create production build
npm start # Start production server
# Code Quality
npm run lint # Run ESLint
npm run type-check # Run TypeScript compiler checkThe platform uses Supabase with the following main tables:
assessment_types- Assessment type definitionsassessment_sections- ISO clause sectionsassessment_questions- Individual questionsassessment_sessions- User assessment progressassessment_results- Completed assessment results
All tables have Row Level Security (RLS) enabled. See database/migrations/ for schema details.
- Create a feature branch from
Resilience_Dec2025 - Make your changes
- Run
npm run buildto verify no errors - Submit a pull request
- Environment variables are excluded from Git via
.gitignore - Supabase RLS policies protect all database tables
- See Security Review for details
Proprietary - ASI24 Ventures
Maintained by: ASI24 Ventures Last Updated: January 2026