Skip to content

Ftk-keit/hackathon-musee

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

57 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Typing SVG

Live Demo TypeScript Hackathon

πŸ† 5-Day Hackathon Challenge - Museum of Black Civilizations, Dakar


🎯 Project Overview

Museum of Black Civilizations Digital Platform is an innovative web application developed during an intensive 5-day hackathon organized by the MusΓ©e des Civilisations Noires in Dakar, Senegal. This project showcases the power of technology to preserve and share African cultural heritage through immersive digital experiences.

The Challenge

Transform the museum experience into a comprehensive digital platform featuring:

  • πŸ–ΌοΈ Artwork Catalog - Complete collection browsing
  • 🌍 Multilingual Support - French, English, and Wolof
  • πŸ“± QR Code Scanner - Instant artwork information access
  • πŸ”„ 360Β° Virtual Tours - Immersive room exploration
  • 🎨 3D Exhibitions - Interactive 3D artwork modeling

🌐 Live Demo

https://hackathon-musee.vercel.app


✨ Key Features

🌍 Multilingual Platform

  • 3 Languages Support: French, English, and Wolof
  • Dynamic language switching
  • Complete translation coverage
  • Cultural accessibility

πŸ–ΌοΈ Digital Artwork Gallery

  • Comprehensive artwork catalog
  • High-resolution images with zoom
  • Detailed descriptions and history
  • Artist information and context
  • Audio guides in multiple languages

πŸ“± QR Code Scanner

  • Instant artwork recognition
  • Scan physical QR codes at the museum
  • Direct access to detailed information
  • Seamless mobile experience
  • Manual code entry option

πŸ”„ 360Β° Virtual Tour

  • Immersive room-by-room navigation
  • Panoramic view exploration
  • Interactive hotspots
  • Full-screen mode
  • Mobile-responsive design

🎨 3D Exhibition Experience

  • Interactive 3D artwork modeling
  • Advanced visualization
  • Rotate and zoom capabilities
  • Detailed texture rendering

🎧 Audio Guide System

  • Professional narrations
  • Multi-language audio support
  • Contextual artwork explanations
  • Cultural storytelling

πŸ“š Museum History

  • Timeline visualization
  • Historical milestones
  • Founding story
  • Cultural significance

πŸ› οΈ Technology Stack

Frontend Framework

Next.js TypeScript React

  • Next.js 14.2.16 - Server-side rendering & routing
  • TypeScript - Type-safe development
  • React 18 - Component architecture

UI & Styling

TailwindCSS

  • Tailwind CSS - Utility-first styling
  • Radix UI - Accessible component primitives
  • Framer Motion - Smooth animations
  • Geist Font - Modern typography
  • shadcn/ui - Beautiful UI components

Database & Backend

MongoDB

  • MongoDB - Document database
  • Mongoose - ODM for data modeling
  • Next.js API Routes - Serverless functions

Animation & Interactions

  • Framer Motion - Animation library
  • Lenis - Smooth scroll
  • GSAP - Advanced animations
  • Embla Carousel - Touch-friendly carousels

Special Features

  • QR Code Generation - qrcode library
  • React Hook Form - Form management
  • Zod - Schema validation
  • date-fns - Date manipulation

Development Tools

Vercel

  • Vercel - Deployment & hosting
  • ESLint - Code quality
  • PostCSS - CSS processing
  • Autoprefixer - CSS compatibility

πŸš€ Getting Started

Prerequisites

  • Node.js 18+
  • npm or yarn
  • MongoDB connection (optional for local development)

Installation

# Clone the repository
git clone https://github.com/Ftk-keit/hackathon-musee.git
cd hackathon-musee

# Install dependencies
npm install

# Set up environment variables
cp .env.example .env.local
# Edit .env.local with your MongoDB URI

# Run database seeds (optional)
npm run seed:all

# Start development server
npm run dev

Available Scripts

npm run dev          # Start development server (port 3000)
npm run build        # Build for production
npm run start        # Start production server
npm run lint         # Run ESLint
npm run seed         # Seed artworks
npm run seed:exhibitions  # Seed exhibitions
npm run seed:all     # Seed all data

Access the Application

Open http://localhost:3000 in your browser


πŸ“ Project Structure

hackathon-musee/
β”œβ”€β”€ app/                          # Next.js app directory
β”‚   β”œβ”€β”€ (home)/                   # Home page routes
β”‚   β”œβ”€β”€ api/                      # API routes
β”‚   β”‚   └── artworks/            # Artwork endpoints
β”‚   β”œβ”€β”€ admin/                    # Admin dashboard
β”‚   β”œβ”€β”€ exhibition/               # Exhibition pages
β”‚   β”œβ”€β”€ virtual-tour/            # 360Β° tour
β”‚   β”œβ”€β”€ scanner/                 # QR scanner
β”‚   └── histoire/                # Museum history
β”œβ”€β”€ components/                   # React components
β”‚   β”œβ”€β”€ ui/                      # shadcn/ui components
β”‚   β”œβ”€β”€ QRLauncher.tsx           # QR scanner component
β”‚   └── LanguageSwitcher.tsx     # Language selector
β”œβ”€β”€ lib/                         # Utilities & configs
β”‚   β”œβ”€β”€ i18n.ts                  # Internationalization
β”‚   β”œβ”€β”€ translations.ts          # Translation strings
β”‚   β”œβ”€β”€ mongodb.ts               # Database connection
β”‚   └── artwork-data.ts          # Static data
β”œβ”€β”€ models/                      # Mongoose models
β”‚   └── Artwork.ts               # Artwork schema
β”œβ”€β”€ scripts/                     # Database scripts
β”‚   β”œβ”€β”€ seed.ts                  # Seed artworks
β”‚   └── seed-exhibitions.ts      # Seed exhibitions
└── public/                      # Static assets
    └── audio/                   # Audio guides

🎨 Key Pages & Routes

Route Description
/ Home page with hero and features
/exhibition/[slug] Exhibition collections
/exhibition/[slug]/artwork/[id] Individual artwork details
/virtual-tour 360Β° immersive tour
/scanner QR code scanner
/histoire Museum history timeline
/admin Admin dashboard
/api/artworks Artwork API endpoint

πŸŽ“ Skills Demonstrated

Frontend Development

βœ… Next.js 14 - App router, server components, API routes
βœ… TypeScript - Advanced type safety and interfaces
βœ… React Patterns - Hooks, context, composition
βœ… Responsive Design - Mobile-first approach
βœ… Performance Optimization - Image optimization, lazy loading

UI/UX Design

βœ… Modern Design - Clean, elegant interfaces
βœ… Animations - Smooth transitions and interactions
βœ… Accessibility - WCAG compliance
βœ… Multilingual UX - Cultural adaptation

Backend & Database

βœ… MongoDB Integration - Document modeling
βœ… Mongoose ODM - Schema design
βœ… RESTful APIs - CRUD operations
βœ… Data Seeding - Database initialization

Advanced Features

βœ… QR Code Technology - Generation and scanning
βœ… Audio Integration - Multi-language narrations
βœ… 3D Visualization - Interactive models
βœ… Virtual Tours - 360Β° panoramic views

Internationalization

βœ… i18n Implementation - Complete translation system
βœ… Dynamic Language Switching - Runtime language changes
βœ… Cultural Localization - Wolof, French, English

DevOps & Deployment

βœ… Vercel Deployment - Continuous deployment
βœ… Environment Configuration - Secure secrets management
βœ… Performance Monitoring - Analytics integration

Project Management

βœ… Rapid Development - 5-day delivery
βœ… Team Collaboration - Git workflow
βœ… Agile Methodology - Sprint-based development
βœ… Time Management - Tight deadline execution


πŸ† Hackathon Achievement

Challenge Completion

  • βœ… Duration: 5 days intensive development
  • βœ… Team: Collaborative effort
  • βœ… Deliverable: Fully functional web application
  • βœ… Deployment: Live production site
  • βœ… Features: All requirements implemented

Innovation Highlights

  1. Cultural Preservation - Digital heritage conservation
  2. Accessibility - Multi-language support including Wolof
  3. Technology Integration - QR codes, 3D, 360Β° tours
  4. User Experience - Intuitive and immersive interface
  5. Scalability - MongoDB-based architecture

🌍 Cultural Impact

This project serves as a bridge between:

  • Tradition & Technology - Preserving heritage digitally
  • Local & Global - Making African art accessible worldwide
  • Education & Entertainment - Engaging learning experiences
  • Past & Future - Modern platform for ancient civilizations

πŸ“Š Technical Metrics

  • Performance Score: 95+ (Lighthouse)
  • Accessibility: WCAG AA compliant
  • Mobile Responsive: 100%
  • Languages Supported: 3 (FR, EN, WO)
  • Artworks Cataloged: 50+
  • Audio Guides: Multiple per artwork

🀝 Team & Credits

Organized by: Museum of Black Civilizations, Dakar
Development Team: Hackathon Participants
Duration: 5 Days
Location: Dakar, Senegal


πŸ“ License

This project was developed for educational purposes during the Museum of Black Civilizations Hackathon.


πŸ”— Links


πŸ›οΈ Built with passion during the 5-day Museum Hackathon - Preserving African Heritage Through Technology

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages