coRel is a data-driven educational platform that explores religious diversity, tolerance, and social cohesion using insights from the ReligionMonitor 2023 dataset. The name reflects the platform's core mission: discovering meaningful correlations between knowledge, perception, and behavior to help people understand religious diversity and build more inclusive communities.
Built for the Data4Good Berlin Hackathon 2026, coRel transforms survey data into actionable insights through interactive visualizations, educational resources, and AI-powered assistance.
🌐 Live Application: https://corel.denishoti.dev
- Overview
- Features
- Technology Stack
- Project Structure
- Quick Start
- Development Setup
- Docker Deployment
- Documentation
- Data Sources
- Contributing
coRel provides an interactive platform to explore:
- Data Insights: Interactive carousels showcasing key findings from the ReligionMonitor 2023 survey across 7 countries
- Educational Resources: Curated articles, reports, and guides about religious diversity, interfaith dialogue, and social cohesion
- AI-Powered Education Chat: Intelligent assistant that answers questions and suggests relevant resources
- Migration Flow Visualization: Interactive map showing migration patterns and demographic correlations
- Interactive Charts: Visual representations of perception gaps, donation rates, knowledge levels, and more
The platform is designed to be:
- Mobile-first: Responsive design optimized for all devices
- Accessible: Built with accessibility best practices
- Data-driven: All insights backed by ReligionMonitor 2023 survey data
- Educational: Neutral, informative content to foster understanding
- Featured Insights Carousel: Three key insights with interactive charts:
- Religion perception and knowledge impact
- Solidarity and donation rates
- Knowledge gaps across religious communities
- Education Hub: Curated resources from trusted sources (BBC, The Guardian, Pew Research, OSCE, etc.)
- AI Education Chat: GPT-4o-mini powered assistant with RAG (Retrieval Augmented Generation)
- Migration Map: Interactive visualization of migration flows and demographic data
- ReligionMonitor Snapshot: Country-specific KPIs and metrics
- Responsive Design: Premium UI/UX with Tailwind CSS and Framer Motion animations
- Religion perception charts (Canva embeds)
- Donation rates by religion
- Helping intentions by perception
- Knowledge gaps analysis
- Migration flow maps
- Demographic correlation charts
- React 19: Modern React with hooks
- React Router: Client-side routing
- Tailwind CSS: Utility-first CSS framework
- Framer Motion: Animation library
- Recharts: Data visualization
- Deck.gl / MapLibre GL: Interactive maps
- Swiper: Carousel components
- Lucide React: Icon library
- Node.js 20+: Runtime environment
- Express.js: Web framework
- OpenAI API: GPT-4o-mini for Education Chat
- CORS: Cross-origin resource sharing
- Docker: Multi-stage containerized deployment
- Node.js Alpine: Lightweight container base
coRel/
├── frontend/ # React frontend application
│ ├── public/ # Static assets
│ │ └── images/ # Chart images
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── pages/ # Page components
│ │ ├── data/ # Mock data and configurations
│ │ └── hooks/ # Custom React hooks
│ ├── package.json
│ └── README.md
│
├── server/ # Express backend API
│ ├── index.js # Main server file
│ ├── educationResources.json # Curated resources for RAG
│ ├── package.json
│ └── README.md # Backend documentation
│
├── data/ # ReligionMonitor dataset files
├── data_processing/ # Python scripts for data analysis
├── documentation/ # Project documentation
├── Dockerfile # Multi-stage Docker build
├── .dockerignore
└── README.md # This file
- Node.js: Version 16.0.0 or higher
- npm: Version 7.0.0 or higher
- Docker (optional): For containerized deployment
- OpenAI API Key (optional): For Education Chat feature
-
Clone the repository (if applicable)
-
Install frontend dependencies:
cd frontend npm install -
Install backend dependencies:
cd ../server npm install -
Configure environment variables:
Create
server/.env:OPENAI_API_KEY=sk-your-key-here PORT=8787 NODE_ENV=development
-
Start the backend server:
cd server npm startServer runs on
http://localhost:8787 -
Start the frontend (in a new terminal):
cd frontend npm startFrontend runs on
http://localhost:3000
The frontend will automatically proxy API requests to the backend.
cd frontend
npm install
npm start- Development server:
http://localhost:3000 - Hot reload enabled
- API requests proxied to
http://localhost:8787
cd server
npm install
# Create .env file with OPENAI_API_KEY
npm start- API server:
http://localhost:8787 - Health check:
http://localhost:8787/health
Run both servers simultaneously:
Terminal 1 (Backend):
cd server && npm startTerminal 2 (Frontend):
cd frontend && npm start# Build the Docker image
docker build -t corel:latest .
# Run the container
docker run -d \
--name corel \
-p 8787:8787 \
-e OPENAI_API_KEY=sk-your-key-here \
-e PORT=8787 \
-e NODE_ENV=production \
corel:latestCreate docker-compose.yml:
version: '3.8'
services:
corel:
build:
context: .
dockerfile: Dockerfile
container_name: corel
ports:
- "8787:8787"
environment:
- OPENAI_API_KEY=${OPENAI_API_KEY}
- PORT=8787
- NODE_ENV=production
restart: unless-stoppedRun:
docker-compose up -d# Check container status
docker ps
# View logs
docker logs corel
# Test health endpoint
curl http://localhost:8787/healthFor detailed Docker setup instructions, see server/README.md.
- Backend API Documentation: Complete backend setup, API endpoints, and deployment guide
- Frontend Documentation: Frontend development guide (if available)
- Design System: See
documentation/DESIGN_SYSTEM.md(if available) - Education Chat Setup: See
documentation/EDUCATION_CHAT_SETUP.md(if available) - Migration Map Integration: See
frontend/MIGRATION_MAP_INTEGRATION.md(if available)
- ReligionMonitor 2023: Survey data from Bertelsmann Stiftung
- 7 countries: Germany, France, UK, Netherlands, Poland, Spain, USA
- Over 7,000 participants
- Weighted population-representative data
- Survey data files (
.sav,.pdf) indata/directory - Processed insights in
data/cohesion_insights.json - Python processing scripts in
data_processing/
All insights and correlations shown in coRel are based on survey data associations, not causal relationships. The platform emphasizes:
- Correlation ≠ causation
- Multiple factors influence outcomes
- Results may vary by demographic subgroups and local context
- Create a feature branch
- Make your changes
- Test locally (frontend + backend)
- Ensure code follows project conventions
- Submit for review
- Frontend: React functional components with hooks
- Backend: Express.js with async/await
- Styling: Tailwind CSS utility classes
- Animations: Framer Motion for smooth transitions
- Mobile-first responsive design
- Accessibility best practices (ARIA labels, keyboard navigation)
- Neutral, educational tone
- Data-driven insights with proper attribution
| Variable | Required | Description |
|---|---|---|
OPENAI_API_KEY |
Yes* | OpenAI API key for Education Chat |
PORT |
No | Server port (default: 8787) |
NODE_ENV |
No | Environment mode |
*Required only if using Education Chat feature
No environment variables required for basic functionality. API proxy configured in frontend/src/setupProxy.js.
POST /api/edu-chat: Education Chat endpointGET /health: Health check endpoint
See server/README.md for complete API documentation.
- Chrome/Edge (latest)
- Firefox (latest)
- Safari (latest)
- Mobile browsers (iOS Safari, Chrome Mobile)
Built for Data4Good Berlin Hackathon 2026.
- Bertelsmann Stiftung for the ReligionMonitor 2023 dataset
- Data4Good Berlin for the hackathon opportunity
- OpenAI for GPT-4o-mini API
- All contributors and supporters
- Live Application: https://corel.denishoti.dev
- Issues: Check documentation in
server/README.mdandfrontend/README.md - Troubleshooting: See troubleshooting sections in respective README files
coRel - Understanding Religious Diversity, Building Stronger Communities
Built with ❤️ for Data4Good Berlin Hackathon 2026