|
|
|
export const proverbs = [ |
|
{ |
|
id: "akan-1", |
|
origin: "Akan (Ghana)", |
|
proverb: "Se wo were fi na wosan kofa a, yenkyiri.", |
|
translation: "It is not taboo to go back for what you forgot.", |
|
explanation: "Emphasizes the importance of correcting mistakes and learning from the past.", |
|
category: "cultural", |
|
difficulty: "easy", |
|
context: "Used to encourage people not to be ashamed of admitting errors or seeking help.", |
|
modernApplication: |
|
"In education and personal growth, this teaches us that it's okay to revisit concepts we didn't understand initially.", |
|
}, |
|
{ |
|
id: "yoruba-1", |
|
origin: "Yoruba (Nigeria)", |
|
proverb: "Àgbàdo ò ṣeé fi ìkòkò sílẹ̀ ká máa wo inú rẹ̀.", |
|
translation: "One does not place corn in a pot and not watch it.", |
|
explanation: "Highlights the importance of attention and care in responsibilities.", |
|
category: "cultural", |
|
difficulty: "medium", |
|
context: "Used to remind people to be attentive to their duties and responsibilities.", |
|
modernApplication: |
|
"In project management and leadership, this emphasizes the need for oversight and continuous monitoring.", |
|
}, |
|
{ |
|
id: "swahili-1", |
|
origin: "Swahili (East Africa)", |
|
proverb: "Haraka haraka haina baraka.", |
|
translation: "Hurry hurry has no blessings.", |
|
explanation: "Rushing through tasks often leads to poor results and missed opportunities.", |
|
category: "cultural", |
|
difficulty: "easy", |
|
context: "Encourages patience and thoroughness in all endeavors.", |
|
modernApplication: "In our fast-paced world, this reminds us to take time for quality work and mindful living.", |
|
}, |
|
{ |
|
id: "amharic-1", |
|
origin: "Amharic (Ethiopia)", |
|
proverb: "የሰው ልጅ በራሱ ይወድቃል።", |
|
translation: "A person falls by their own actions.", |
|
explanation: "We are responsible for our own successes and failures.", |
|
category: "cultural", |
|
difficulty: "medium", |
|
context: "Teaches personal accountability and self-reflection.", |
|
modernApplication: "Emphasizes personal responsibility in career, relationships, and life choices.", |
|
}, |
|
] |
|
|
|
|
|
export const ubuntuConcepts = [ |
|
{ |
|
id: "ubuntu-1", |
|
concept: "Umuntu ngumuntu ngabantu", |
|
translation: "A person is a person through other persons.", |
|
explanation: "The fundamental concept of Ubuntu - our humanity is interconnected.", |
|
category: "philosophy", |
|
difficulty: "easy", |
|
context: "The core principle that defines Ubuntu philosophy and African humanism.", |
|
modernApplication: |
|
"In healthcare, education, and community development, this principle guides collaborative approaches.", |
|
}, |
|
{ |
|
id: "ubuntu-2", |
|
concept: "Ubuntu ngumuntu", |
|
translation: "Ubuntu is humanity.", |
|
explanation: "Ubuntu represents the essence of being human through community.", |
|
category: "philosophy", |
|
difficulty: "medium", |
|
context: "Describes Ubuntu as both a philosophy and a way of life.", |
|
modernApplication: |
|
"In conflict resolution and social justice, Ubuntu provides a framework for healing and reconciliation.", |
|
}, |
|
{ |
|
id: "ubuntu-3", |
|
concept: "Umntu akalahlwa", |
|
translation: "A person should not be discarded.", |
|
explanation: "Every individual has inherent worth and should be valued by the community.", |
|
category: "philosophy", |
|
difficulty: "medium", |
|
context: "Emphasizes the importance of inclusion and social support systems.", |
|
modernApplication: |
|
"In social work and community care, this principle guides inclusive practices and support for vulnerable populations.", |
|
}, |
|
] |
|
|
|
|
|
export const healthModules = [ |
|
{ |
|
id: "health-1", |
|
title: "Community Malaria Prevention", |
|
content: { |
|
type: "video", |
|
source: "/videos/malaria-prevention.mp4", |
|
transcript: |
|
"Traditional approaches combined with modern medicine create the most effective malaria prevention strategies...", |
|
keyPoints: [ |
|
"Use of treated bed nets in combination with traditional repellent plants", |
|
"Community education about stagnant water elimination", |
|
"Integration of traditional healers with modern healthcare workers", |
|
"Seasonal prevention strategies based on local weather patterns", |
|
], |
|
quiz: [ |
|
{ |
|
question: "What's the most effective mosquito prevention method?", |
|
options: [ |
|
"Chemical sprays only", |
|
"Treated bed nets + environmental management", |
|
"Essential oils only", |
|
"Indoor cleaning only", |
|
], |
|
correct: 1, |
|
explanation: |
|
"Combining treated bed nets with environmental management (removing stagnant water) provides the most comprehensive protection.", |
|
}, |
|
{ |
|
question: "How can traditional knowledge enhance malaria prevention?", |
|
options: [ |
|
"Replace all modern methods", |
|
"Complement modern methods with proven traditional practices", |
|
"Only use traditional methods", |
|
"Ignore traditional knowledge", |
|
], |
|
correct: 1, |
|
explanation: |
|
"Traditional knowledge about repellent plants and seasonal patterns can effectively complement modern prevention methods.", |
|
}, |
|
], |
|
}, |
|
category: "health", |
|
difficulty: "medium", |
|
flbReward: 35, |
|
xpReward: 60, |
|
}, |
|
{ |
|
id: "health-2", |
|
title: "Maternal Health Advocacy", |
|
content: { |
|
type: "interactive", |
|
modules: [ |
|
{ |
|
title: "Understanding Maternal Mortality", |
|
content: "Maternal mortality remains a critical challenge in many African communities...", |
|
activities: [ |
|
"Identify risk factors in your community", |
|
"Map available healthcare resources", |
|
"Develop community education strategies", |
|
], |
|
}, |
|
{ |
|
title: "Traditional Birth Practices", |
|
content: "Integrating safe traditional practices with modern obstetric care...", |
|
activities: [ |
|
"Interview traditional birth attendants", |
|
"Document safe traditional practices", |
|
"Create integration protocols", |
|
], |
|
}, |
|
], |
|
}, |
|
category: "health", |
|
difficulty: "hard", |
|
flbReward: 50, |
|
xpReward: 90, |
|
}, |
|
] |
|
|
|
|
|
export const techModules = [ |
|
{ |
|
id: "tech-1", |
|
title: "Blockchain for Social Impact", |
|
content: { |
|
type: "video", |
|
source: "/videos/blockchain-social-impact.mp4", |
|
transcript: "Blockchain technology offers unique opportunities for addressing African challenges...", |
|
keyPoints: [ |
|
"Transparent donation tracking for NGOs", |
|
"Digital identity solutions for refugees", |
|
"Supply chain transparency for fair trade", |
|
"Decentralized healthcare record systems", |
|
], |
|
practicalExercises: [ |
|
"Set up a digital wallet", |
|
"Understand smart contract basics", |
|
"Explore DeFi applications for microfinance", |
|
"Design a blockchain solution for a local problem", |
|
], |
|
}, |
|
category: "technology", |
|
difficulty: "hard", |
|
flbReward: 60, |
|
xpReward: 120, |
|
}, |
|
] |
|
|
|
|
|
export const storyPrompts = [ |
|
{ |
|
id: "story-1", |
|
category: "Ubuntu", |
|
prompt: |
|
"Share a personal experience where you witnessed or practiced Ubuntu - how did community support or interconnectedness make a difference in your life or someone else's?", |
|
minWords: 100, |
|
maxWords: 500, |
|
examples: [ |
|
"A time when neighbors came together to help during a crisis", |
|
"How community support helped someone achieve their goals", |
|
"An experience of giving or receiving help that changed your perspective", |
|
], |
|
}, |
|
{ |
|
id: "story-2", |
|
category: "Health Impact", |
|
prompt: |
|
"Tell us about a health impact story from your community - how did traditional knowledge, modern medicine, or community action improve health outcomes?", |
|
minWords: 150, |
|
maxWords: 600, |
|
examples: [ |
|
"A successful community health intervention", |
|
"Integration of traditional and modern healing practices", |
|
"How education changed health behaviors in your area", |
|
], |
|
}, |
|
{ |
|
id: "story-3", |
|
category: "Cultural Preservation", |
|
prompt: "Share how you or your community is preserving African culture and traditions while embracing modernity.", |
|
minWords: 100, |
|
maxWords: 400, |
|
examples: [ |
|
"Teaching traditional languages to young people", |
|
"Modernizing traditional practices while keeping their essence", |
|
"Using technology to preserve cultural knowledge", |
|
], |
|
}, |
|
] |
|
|
|
|
|
export const quizQuestions = { |
|
cultural: [ |
|
{ |
|
question: "What does the Akan proverb 'Se wo were fi na wosan kofa a, yenkyiri' teach us?", |
|
options: [ |
|
"Never make mistakes", |
|
"It's okay to go back and correct mistakes", |
|
"Forget about the past", |
|
"Always move forward", |
|
], |
|
correct: 1, |
|
explanation: |
|
"This proverb teaches that there's no shame in going back to correct mistakes or learn what we missed.", |
|
}, |
|
{ |
|
question: "The Yoruba proverb about watching corn in a pot emphasizes:", |
|
options: ["Cooking skills", "Patience in cooking", "Attention to responsibilities", "Food preservation"], |
|
correct: 2, |
|
explanation: "This proverb teaches the importance of being attentive and responsible in our duties.", |
|
}, |
|
], |
|
philosophy: [ |
|
{ |
|
question: "What is the core meaning of Ubuntu?", |
|
options: [ |
|
"Individual achievement is most important", |
|
"I am because we are - interconnectedness of humanity", |
|
"Competition drives progress", |
|
"Self-reliance is key to success", |
|
], |
|
correct: 1, |
|
explanation: "Ubuntu emphasizes that our humanity is interconnected and interdependent.", |
|
}, |
|
{ |
|
question: "How does Ubuntu apply to modern conflict resolution?", |
|
options: [ |
|
"Punishment and retribution", |
|
"Restorative justice and community healing", |
|
"Individual counseling only", |
|
"Legal proceedings only", |
|
], |
|
correct: 1, |
|
explanation: |
|
"Ubuntu principles guide restorative justice approaches that focus on healing and community restoration.", |
|
}, |
|
], |
|
health: [ |
|
{ |
|
question: "What's the most effective approach to community health in African contexts?", |
|
options: [ |
|
"Only modern medicine", |
|
"Only traditional medicine", |
|
"Integration of traditional and modern approaches", |
|
"Individual treatment focus", |
|
], |
|
correct: 2, |
|
explanation: |
|
"Integrating traditional knowledge with modern medicine creates the most effective and culturally appropriate healthcare solutions.", |
|
}, |
|
{ |
|
question: "What role do community health workers play in African healthcare systems?", |
|
options: [ |
|
"Replace doctors completely", |
|
"Bridge between communities and formal healthcare", |
|
"Only provide traditional remedies", |
|
"Focus only on emergency care", |
|
], |
|
correct: 1, |
|
explanation: |
|
"Community health workers serve as vital bridges, connecting communities with formal healthcare while respecting cultural practices.", |
|
}, |
|
], |
|
technology: [ |
|
{ |
|
question: "How can blockchain technology benefit African communities?", |
|
options: [ |
|
"Only for cryptocurrency trading", |
|
"Transparent governance, identity solutions, and fair trade", |
|
"Replace all traditional systems", |
|
"Only for wealthy individuals", |
|
], |
|
correct: 1, |
|
explanation: |
|
"Blockchain can provide transparent governance, secure digital identity, supply chain transparency, and financial inclusion.", |
|
}, |
|
{ |
|
question: |
|
"What is the most important consideration when implementing technology solutions in African communities?", |
|
options: [ |
|
"Using the latest technology", |
|
"Cultural appropriateness and community needs", |
|
"Copying Western solutions", |
|
"Focusing only on urban areas", |
|
], |
|
correct: 1, |
|
explanation: |
|
"Technology solutions must be culturally appropriate and address actual community needs to be effective and sustainable.", |
|
}, |
|
], |
|
} |
|
|
|
|
|
export const achievementDefinitions = [ |
|
{ |
|
id: "first-steps", |
|
name: "First Steps", |
|
description: "Complete your first learning module", |
|
icon: "👶", |
|
requirement: { type: "modules", value: 1 }, |
|
reward: { flb: 10, xp: 25 }, |
|
}, |
|
{ |
|
id: "wisdom-seeker", |
|
name: "Wisdom Seeker", |
|
description: "Learn 10 African proverbs", |
|
icon: "🧠", |
|
requirement: { type: "proverbs", value: 10 }, |
|
reward: { flb: 50, xp: 100 }, |
|
}, |
|
{ |
|
id: "community-builder", |
|
name: "Community Builder", |
|
description: "Join your first tribe", |
|
icon: "🏗️", |
|
requirement: { type: "tribes", value: 1 }, |
|
reward: { flb: 15, xp: 30 }, |
|
}, |
|
{ |
|
id: "streak-starter", |
|
name: "Streak Starter", |
|
description: "Maintain 7-day learning streak", |
|
icon: "🔥", |
|
requirement: { type: "streak", value: 7 }, |
|
reward: { flb: 25, xp: 50 }, |
|
}, |
|
{ |
|
id: "streak-master", |
|
name: "Streak Master", |
|
description: "Maintain 30-day learning streak", |
|
icon: "🔥", |
|
requirement: { type: "streak", value: 30 }, |
|
reward: { flb: 100, xp: 200 }, |
|
}, |
|
{ |
|
id: "ubuntu-spirit", |
|
name: "Ubuntu Spirit", |
|
description: "Share 50 community stories", |
|
icon: "❤️", |
|
requirement: { type: "stories", value: 50 }, |
|
reward: { flb: 75, xp: 150 }, |
|
}, |
|
{ |
|
id: "health-champion", |
|
name: "Health Champion", |
|
description: "Complete all health advocacy modules", |
|
icon: "🩺", |
|
requirement: { type: "health_modules", value: 5 }, |
|
reward: { flb: 80, xp: 160 }, |
|
}, |
|
{ |
|
id: "tech-innovator", |
|
name: "Tech Innovator", |
|
description: "Master blockchain and technology modules", |
|
icon: "💻", |
|
requirement: { type: "tech_modules", value: 3 }, |
|
reward: { flb: 90, xp: 180 }, |
|
}, |
|
{ |
|
id: "cultural-keeper", |
|
name: "Cultural Keeper", |
|
description: "Complete all cultural heritage modules", |
|
icon: "🏛️", |
|
requirement: { type: "cultural_modules", value: 8 }, |
|
reward: { flb: 70, xp: 140 }, |
|
}, |
|
{ |
|
id: "philosopher", |
|
name: "Philosopher", |
|
description: "Master Ubuntu and African philosophy", |
|
icon: "🤔", |
|
requirement: { type: "philosophy_modules", value: 5 }, |
|
reward: { flb: 85, xp: 170 }, |
|
}, |
|
] |
|
|
|
|
|
export const getProverbsByOrigin = (origin: string) => { |
|
return proverbs.filter((proverb) => proverb.origin.toLowerCase().includes(origin.toLowerCase())) |
|
} |
|
|
|
export const getProverbsByDifficulty = (difficulty: "easy" | "medium" | "hard") => { |
|
return proverbs.filter((proverb) => proverb.difficulty === difficulty) |
|
} |
|
|
|
export const getRandomProverb = () => { |
|
return proverbs[Math.floor(Math.random() * proverbs.length)] |
|
} |
|
|
|
export const getUbuntuConceptByDifficulty = (difficulty: "easy" | "medium" | "hard") => { |
|
return ubuntuConcepts.filter((concept) => concept.difficulty === difficulty) |
|
} |
|
|
|
export const getQuizQuestionsByCategory = (category: keyof typeof quizQuestions) => { |
|
return quizQuestions[category] || [] |
|
} |
|
|
|
export const validateStoryContent = (content: string, minWords: number, maxWords: number) => { |
|
const wordCount = content |
|
.trim() |
|
.split(/\s+/) |
|
.filter((word) => word.length > 0).length |
|
return { |
|
isValid: wordCount >= minWords && wordCount <= maxWords, |
|
wordCount, |
|
minWords, |
|
maxWords, |
|
} |
|
} |
|
|