Digital platform for Rwandan Cultural Preservation
# Umurage β A Digital Platform for Rwandan Cultural Preservation
**Umurage** is a web-based application designed to preserve, promote, and celebrate Rwandan indigenous culture through interactive storytelling, multimedia content, and community engagement. The platform allows users to explore traditional music, artwork, oral history, and upcoming cultural events, all in one accessible, dynamic space.
---
## π Tech Stack
- **Frontend**: Next.js, Tailwind CSS
- **Backend/API**: Node.js, Express, PostgreSQL
- **Database**: PostgreSQL / Supabase
- **ORM**: Drizzle ORM
- **UI/UX Design**: Figma
- **Maps**: Leaflet.js
- **Version Control**: Git & GitHub
- **Deployment**: Vercel
---
## π Features
- β
Browse and search traditional Rwandan **music**, **art**, **oral stories**, and **historical records**
- β
Contributor profiles with bios and cross-linked content
- β
Interactive **map view** of museums and heritage sites
- β
View of **upcoming cultural activities**
- β
Community content submission and admin approval workflow
- β
Audio player with progress bar and volume control for music
- β
Related content sections
## π¦ Folder Structure
```bash
.
βββ client/ # Frontend Next.js application
β βββ public/ # Static assets
β βββ src/
β β βββ app/ # Next.js app directory (routes)
β β βββ components/ # Reusable UI components
β β βββ lib/ # Utility functions and shared logic
β β βββ types/ # TypeScript types
β β βββ utils/ # Utility functions
β βββ .next/ # Next.js build output
β βββ next.config.ts # Next.js configuration
β βββ tailwind.config.ts # Tailwind CSS configuration
β βββ tsconfig.json # TypeScript configuration
β
βββ server/ # Backend Express application
β βββ src/
β β βββ controllers/ # Controller functions
β β βββ db/ # Database related code
β β βββ routes/ # API routes
β β βββ β¦