World Peace Building Platform

A comprehensive platform for sharing ideas, documents, and discussions about world peace building processes.

Features

  • Idea Sharing: Users can post their ideas and works on peace building
  • Document Upload: Support for uploading documents related to peace initiatives
  • Discussion Room: Real-time chat with multimedia support (text, videos, audios)
  • User Registration: Required name input before participating in discussions
  • WLP Membership: Invitation system for "We Love Peace" international group

Project Structure

├── backend/
│   ├── database/
│   │   ├── migrations.ts    # Database schema setup
│   │   └── queries.ts       # Database query functions
│   ├── routes/
│   │   ├── ideas.ts         # Ideas and documents API
│   │   ├── chat.ts          # Chat room API
│   │   └── users.ts         # User management API
│   └── index.ts             # Main Hono server
├── frontend/
│   ├── components/
│   │   ├── App.tsx          # Main application component
│   │   ├── IdeaBoard.tsx    # Ideas and documents display
│   │   ├── ChatRoom.tsx     # Discussion room component
│   │   └── UserForm.tsx     # User registration form
│   ├── index.html           # Main HTML template
│   ├── index.tsx            # Frontend entry point
│   └── style.css            # Custom styles
└── shared/
    └── types.ts             # Shared TypeScript types

Technology Stack

  • Backend: Hono.js with TypeScript
  • Frontend: React 18.2.0 with TypeScript
  • Database: SQLite
  • Storage: Val Town Blob storage for file uploads
  • Styling: TailwindCSS
  • Real-time: Polling-based chat updates

Getting Started

  1. The backend server handles API routes and serves static files
  2. Users must enter their name before accessing chat features
  3. Ideas and documents are stored with user attribution
  4. Chat supports text, video, and audio content
  5. WLP membership invitations are integrated into the platform