/1Afrika

Exploring and exporting African culture and values through innovation, entertainment, health, and fashion.

Primary LanguageTypeScript

🌍 1Afrika Platform - Book-Like Encyclopedia

The 1Afrika Platform is a unified web application built with Next.js and TypeScript that presents African culture, values, and heritage through a book-like digital experience. It serves as a comprehensive encyclopedia and digital hub across various domains.

πŸ“– Book-Like Design

The application features a book cover design as requested by stakeholders:

Cover Page Features

  • Yearly Updatable Image: Background image that can be changed annually
  • Concept Name & Logo: Prominent display of "1Afrika" with globe icon
  • Subtitle: "Encyclopedia of African Heritage"
  • ENTER Button: Clean, prominent button to access the main content
  • Edition Year: Shows current year (2025 Edition)

Main Encyclopedia Page

  • Panoramic African Landscape: Full-width image showcasing Africa's diverse landscapes
  • Organized Link Buttons: 8 main sections arranged in a clean grid layout
  • Responsive Design: Works seamlessly on desktop and mobile devices

πŸ—οΈ Atomic Component Structure

The application follows atomic design principles with reusable components:

Core Components

  • BookCover.tsx - Book cover page with yearly-updatable image
  • MainEncyclopedia.tsx - Main encyclopedia page with panoramic image and sections
  • PanoramicImage.tsx - Reusable panoramic image component
  • EncyclopediaSection.tsx - Individual encyclopedia section cards
  • StatisticsSection.tsx - Statistics display component

Data Management

  • lib/data.ts - Centralized data for all encyclopedia sections and content
  • Easy to update yearly images, content, and statistics

🎯 Core Departments

The platform is organized into 8 main sections:

  1. πŸ–₯️ 1Afrika IT - Innovation & Technology
  2. 🎭 1Afrika Entertainment - Music, Film & Arts
  3. 🩺 1Afrika Health - Wellness & Healthcare
  4. πŸ‘— 1Afrika Fashion - Style & Design
  5. πŸ“š Cultural Encyclopedia - History & Heritage
  6. πŸ‘₯ Peoples & Languages - Ethnic Groups & Linguistics
  7. πŸ—ΊοΈ Geography & Nature - Landscapes & Biodiversity
  8. 🌍 Global Impact - Africa's World Influence

πŸš€ Tech Stack

  • Framework: Next.js (App Router)
  • Language: TypeScript
  • Styling: Tailwind CSS
  • UI Components: shadcn/ui with Radix UI primitives
  • Animations: Framer Motion
  • Icons: Lucide React
  • State Management: React hooks

πŸ› οΈ Getting Started

Prerequisites

  • Node.js (v18+ recommended)
  • npm or yarn

Installation

git clone https://github.com/G4EVA-dev/1Afrika.git
cd 1afrika
npm install

Running the Development Server

npm run dev

Open your browser and navigate to http://localhost:3000

πŸ“ Project Structure

1afrika/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ page.tsx              # Main page with book cover logic
β”‚   β”œβ”€β”€ layout.tsx            # Root layout
β”‚   └── globals.css           # Global styles
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ BookCover.tsx         # Book cover component
β”‚   β”œβ”€β”€ MainEncyclopedia.tsx  # Main encyclopedia page
β”‚   β”œβ”€β”€ PanoramicImage.tsx    # Panoramic image component
β”‚   β”œβ”€β”€ EncyclopediaSection.tsx # Individual section cards
β”‚   β”œβ”€β”€ StatisticsSection.tsx # Statistics display
β”‚   └── ui/                   # shadcn/ui components
β”œβ”€β”€ lib/
β”‚   β”œβ”€β”€ data.ts               # Centralized data
β”‚   └── utils.ts              # Utility functions
└── public/                   # Static assets

🎨 Design Features

Book Cover Experience

  • Smooth Animations: Framer Motion animations for engaging transitions
  • Yearly Updates: Easy image replacement for annual updates
  • Professional Typography: Clean, readable text hierarchy
  • Responsive Design: Works on all device sizes

Encyclopedia Layout

  • Panoramic Hero: Stunning African landscape imagery
  • Color-Coded Sections: Each department has its own color theme
  • Interactive Cards: Hover effects and smooth transitions
  • Statistics Display: Key African facts and figures

πŸ”§ Customization

Updating Yearly Image

Edit lib/data.ts:

export const bookCoverData = {
  yearlyImage: "/new-yearly-image.jpg", // Update this path
  // ... other data
};

Adding New Sections

Add to encyclopediaSections array in lib/data.ts:

{
  icon: <NewIcon className="h-6 w-6" />,
  title: "New Section",
  description: "Section Description",
  content: "Section content...",
  color: "bg-new-color-500 hover:bg-new-color-600",
  borderColor: "border-new-color-200",
  href: "/new-section"
}

🀝 Contributing

1. Clone the Repository

git clone https://github.com/G4EVA-dev/1Afrika.git

2. Create a Feature Branch

git checkout -b feature/your-feature-name

3. Make Your Changes

Follow atomic design principles and maintain component reusability.

4. Commit and Push

git commit -m "feat: add new feature"
git push origin feature/your-feature-name

5. Create a Pull Request

Go to the original repository and open a Pull Request from your branch.

🧹 Code Standards

  • Use Conventional Commits messages
  • Use TypeScript for all files (.ts, .tsx)
  • Follow atomic design principles
  • Use Tailwind CSS for styling
  • Use semantic HTML and accessibility best practices
  • Format code with Prettier and ESLint

πŸ“ž Contact


Β© 2025 1Afrika Encyclopedia. All rights reserved.