Skip to content

denishotii/Data4Good26

Repository files navigation

coRel — education • correlations • religion

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

Table of Contents

Overview

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

Features

🎯 Core Features

  • 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

📊 Data Visualizations

  • Religion perception charts (Canva embeds)
  • Donation rates by religion
  • Helping intentions by perception
  • Knowledge gaps analysis
  • Migration flow maps
  • Demographic correlation charts

Technology Stack

Frontend

  • 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

Backend

  • Node.js 20+: Runtime environment
  • Express.js: Web framework
  • OpenAI API: GPT-4o-mini for Education Chat
  • CORS: Cross-origin resource sharing

Deployment

  • Docker: Multi-stage containerized deployment
  • Node.js Alpine: Lightweight container base

Project Structure

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

Quick Start

Prerequisites

  • 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

Local Development

  1. Clone the repository (if applicable)

  2. Install frontend dependencies:

    cd frontend
    npm install
  3. Install backend dependencies:

    cd ../server
    npm install
  4. Configure environment variables:

    Create server/.env:

    OPENAI_API_KEY=sk-your-key-here
    PORT=8787
    NODE_ENV=development
  5. Start the backend server:

    cd server
    npm start

    Server runs on http://localhost:8787

  6. Start the frontend (in a new terminal):

    cd frontend
    npm start

    Frontend runs on http://localhost:3000

The frontend will automatically proxy API requests to the backend.

Development Setup

Frontend Development

cd frontend
npm install
npm start
  • Development server: http://localhost:3000
  • Hot reload enabled
  • API requests proxied to http://localhost:8787

Backend Development

cd server
npm install

# Create .env file with OPENAI_API_KEY
npm start
  • API server: http://localhost:8787
  • Health check: http://localhost:8787/health

Full Stack Development

Run both servers simultaneously:

Terminal 1 (Backend):

cd server && npm start

Terminal 2 (Frontend):

cd frontend && npm start

Docker Deployment

Build and Run

# 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:latest

Docker Compose

Create 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-stopped

Run:

docker-compose up -d

Verify Deployment

# Check container status
docker ps

# View logs
docker logs corel

# Test health endpoint
curl http://localhost:8787/health

For detailed Docker setup instructions, see server/README.md.

Documentation

Main Documentation

Additional Resources

  • 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)

Data Sources

Primary Dataset

  • ReligionMonitor 2023: Survey data from Bertelsmann Stiftung
    • 7 countries: Germany, France, UK, Netherlands, Poland, Spain, USA
    • Over 7,000 participants
    • Weighted population-representative data

Data Files

  • Survey data files (.sav, .pdf) in data/ directory
  • Processed insights in data/cohesion_insights.json
  • Python processing scripts in data_processing/

Important Note

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

Contributing

Development Workflow

  1. Create a feature branch
  2. Make your changes
  3. Test locally (frontend + backend)
  4. Ensure code follows project conventions
  5. Submit for review

Code Style

  • Frontend: React functional components with hooks
  • Backend: Express.js with async/await
  • Styling: Tailwind CSS utility classes
  • Animations: Framer Motion for smooth transitions

Project Conventions

  • Mobile-first responsive design
  • Accessibility best practices (ARIA labels, keyboard navigation)
  • Neutral, educational tone
  • Data-driven insights with proper attribution

Environment Variables

Backend (server/.env)

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

Frontend

No environment variables required for basic functionality. API proxy configured in frontend/src/setupProxy.js.

API Endpoints

Backend API

  • POST /api/edu-chat: Education Chat endpoint
  • GET /health: Health check endpoint

See server/README.md for complete API documentation.

Browser Support

  • Chrome/Edge (latest)
  • Firefox (latest)
  • Safari (latest)
  • Mobile browsers (iOS Safari, Chrome Mobile)

License

Built for Data4Good Berlin Hackathon 2026.

Acknowledgments

  • Bertelsmann Stiftung for the ReligionMonitor 2023 dataset
  • Data4Good Berlin for the hackathon opportunity
  • OpenAI for GPT-4o-mini API
  • All contributors and supporters

Support

  • Live Application: https://corel.denishoti.dev
  • Issues: Check documentation in server/README.md and frontend/README.md
  • Troubleshooting: See troubleshooting sections in respective README files

coRel - Understanding Religious Diversity, Building Stronger Communities

Built with ❤️ for Data4Good Berlin Hackathon 2026

About

Data4Good Festival Berlin | Hertie School - 2026, Berlin

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors