Skip to content

CEKA is your go-to civic knowledge hub, keeping you informed and empowered in real time.

Notifications You must be signed in to change notification settings

CivicEdKenyaApp/CEKA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ‡°πŸ‡ͺ CEKA – Civic Education Kenya App

CEKA (Civic Education Kenya App) is a community-led open-source platform built to bridge the civic knowledge gap and empower Kenyan citizens with accessible, accurate, and engaging civic education.

MIT License Open Source Community Driven


🌍 Why CEKA?

CEKA is a civic tech project built for the people, by the people. In a democracy, informed citizens are empowered citizens. We aim to:

  • Bridge Knowledge Gaps - Make civic education accessible, engaging, and easy to understand
  • Promote Transparency - Provide clear, verified information about governance and civic processes
  • Inspire Action - Connect citizens with tools and opportunities for meaningful civic participation
  • Foster Community - Create spaces for constructive civic dialogue and collaboration
  • Enable Global Impact - Serve as a template for civic education initiatives worldwide

🎯 Core Features

  • πŸ“Š Legislative Tracker - Follow bills, laws, and legislative processes with AI-powered summaries
  • πŸ“š Resource Hub - Access civic education materials, articles, and interactive content
  • 🀝 Community Portal - Engage in discussions and connect with like-minded citizens
  • πŸŽ“ Interactive Learning - Take quizzes and track your civic knowledge progress
  • 🌐 Multilingual Support - Available in English and Swahili
  • πŸ“± Offline Access - Download resources for use without internet connectivity
  • πŸ” Anonymous Contributions - Submit legislative insights and resources for community benefit

πŸš€ Quick Start

Prerequisites

  • Node.js (v18 or higher)
  • npm or yarn
  • Git

1. Clone the Repository

git clone https://github.com/CivicEdKenyaApp/CEKA.git
cd CEKA

2. Install Dependencies

npm install

3. Set Up Environment Variables

Copy the example environment file and add your configuration:

cp .env.example .env

Update .env with your credentials:

# Supabase Configuration
VITE_SUPABASE_URL=your_supabase_project_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key

# OpenAI API (for AI features)
VITE_OPENAI_API_KEY=your_openai_api_key

# MongoDB Connection
MONGODB_URI=your_mongodb_connection_string

πŸ” Security Note: Never commit your .env file. It's already included in .gitignore.

4. Run the Development Server

npm run dev

Your app should be running at http://localhost:5173

5. Build for Production

npm run build

🧠 Technology Stack

Frontend

  • React 18 - Modern UI library with hooks and concurrent features
  • Next.js - Full-stack React framework with SSR/SSG
  • TypeScript - Type-safe JavaScript development
  • Tailwind CSS - Utility-first CSS framework
  • Vite - Fast build tool and development server

Backend

  • Node.js - JavaScript runtime environment
  • Express.js - Web application framework
  • MongoDB - NoSQL database for flexible data storage
  • Mongoose - MongoDB object modeling

AI & Services

  • OpenAI API - Content summarization and categorization
  • Supabase - Backend-as-a-Service for authentication and real-time features

Deployment


πŸ› οΈ Contributing

We welcome all collaborators β€” developers, designers, educators, civic advocates, and citizens! CEKA thrives on community contributions.

How to Contribute

  1. Fork the repository

    git fork https://github.com/CivicEdKenyaApp/CEKA.git
  2. Create a feature branch

    git checkout -b feature/your-feature-name
  3. Make your changes

    • Follow our coding standards
    • Write clear commit messages
    • Add tests for new features
  4. Test your changes

    npm run test
    npm run lint
  5. Submit a pull request

    • Provide a clear description of your changes
    • Reference any related issues
    • Include screenshots for UI changes

🎯 Areas Where We Need Help

  • πŸ”§ Development - Frontend components, backend APIs, database optimization
  • 🎨 Design - UI/UX improvements, accessibility enhancements
  • πŸ“ Content - Civic education materials, translations (Swahili, other Kenyan languages)
  • πŸ§ͺ Testing - Manual testing, automated test writing
  • πŸ“š Documentation - API docs, user guides, contribution guidelines
  • 🌍 Localization - Translation and cultural adaptation

πŸ“‹ Contributor Guidelines

  • Code of Conduct: Be respectful, inclusive, and constructive
  • Quality Standards: Write clean, well-documented, and tested code
  • Civic Mission: Ensure contributions align with civic education goals
  • Accessibility: Make features usable by people of all abilities
  • Mobile-First: Prioritize mobile experience for Kenyan users

For detailed guidelines, see CONTRIBUTING.md.


πŸ“¦ Deployment

CEKA is designed for easy deployment across multiple platforms:

Frontend Deployment

Backend Deployment

Database

See our Deployment Guide for detailed instructions.


πŸ“Š Project Structure

CEKA/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/          # Reusable UI components
β”‚   β”œβ”€β”€ pages/              # Main application pages
β”‚   β”œβ”€β”€ hooks/              # Custom React hooks
β”‚   β”œβ”€β”€ utils/              # Helper functions
β”‚   β”œβ”€β”€ services/           # API and external services
β”‚   └── types/              # TypeScript type definitions
β”œβ”€β”€ server/
β”‚   β”œβ”€β”€ routes/             # API endpoints
β”‚   β”œβ”€β”€ models/             # Database models
β”‚   β”œβ”€β”€ middleware/         # Express middleware
β”‚   └── services/           # Server-side services
β”œβ”€β”€ public/                 # Static assets
β”œβ”€β”€ docs/                   # Documentation
└── tests/                  # Test files

πŸ”’ Security & Privacy

CEKA takes user privacy and security seriously:

  • πŸ” Secure Authentication - JWT-based authentication with secure password hashing
  • πŸ›‘οΈ Data Protection - User data is encrypted and stored securely
  • πŸ‘€ Anonymous Contributions - Users can contribute without revealing identity
  • πŸ” Content Moderation - AI-powered moderation with human oversight
  • πŸ“Š Privacy-First Analytics - No personal data tracking or sharing

For security issues, please email: [email protected]


🌐 Community & Support

Get Help

Stay Connected

Support the Project

CEKA is entirely community-funded. Your support helps us:

  • Maintain servers and infrastructure
  • Develop new features
  • Create educational content
  • Support community events

β˜• Buy Me A Coffee | πŸ’ GitHub Sponsors

Every contribution, no matter how small, makes a difference! πŸ™


πŸ“„ License & Legal

Open Source License

This project is licensed under the MIT License - see the LICENSE file for details.

What this means:

  • βœ… Commercial Use - Use CEKA in commercial projects
  • βœ… Modification - Modify and adapt the code
  • βœ… Distribution - Share and redistribute freely
  • βœ… Private Use - Use for private/internal projects
  • βœ… Patent Grant - Protection from patent claims

Requirements:

  • πŸ“„ License Notice - Include the MIT license in distributions
  • πŸ“ Copyright Notice - Credit the original authors

Content Licensing

Educational content is licensed under Creative Commons CC BY-SA 4.0

Trademark

"CEKA" and the CEKA logo are trademarks of the CEKA Project. See TRADEMARK.md for usage guidelines.


πŸ—ΊοΈ Roadmap

Phase 1: Core Platform (Q2 2025) βœ…

  • Basic legislative tracker
  • Resource hub with offline access
  • User authentication
  • Mobile-responsive design

Phase 2: AI Integration (Q3 2025) 🚧

  • AI-powered content summarization
  • Anonymous contribution processing
  • Personalized content recommendations
  • Automated content categorization

Phase 3: Community Features (Q4 2025) πŸ“…

  • Discussion forums
  • Petition and campaign tools
  • Volunteer opportunity matching
  • Event management system

Phase 4: Scale & Impact (2026) πŸš€

  • Multi-country adaptation
  • Advanced analytics dashboard
  • Government partnership integrations
  • Educational institution partnerships

See our detailed roadmap for specific milestones and progress.


πŸ™ Acknowledgments

CEKA exists thanks to the contributions of:

  • πŸ‘₯ Contributors - Developers, designers, and civic advocates who build CEKA
  • πŸ›οΈ Civic Organizations - Partners who provide expertise and guidance
  • πŸŽ“ Educational Institutions - Schools and universities that use and improve CEKA
  • πŸ’° Supporters - Individuals and organizations that fund development
  • πŸ‡°πŸ‡ͺ Kenyan Citizens - The community that CEKA serves and learns from

Special Thanks

  • Open source communities that inspire civic technology
  • Democracy and transparency advocates worldwide
  • The next generation of Kenyan civic leaders

πŸ“ˆ Impact Metrics

Since launch, CEKA has:

  • πŸ“Š X,XXX Active Users across Kenya
  • πŸ“š XXX Civic Resources in our database
  • πŸ›οΈ XXX Bills Tracked in our legislative tracker
  • 🀝 XXX Community Contributions from citizens
  • 🌍 XX Countries exploring CEKA adaptation

Updated monthly - see impact dashboard for real-time metrics.


Built with ❀️ for Kenya and democracy worldwide

🌟 Star this repo | 🍴 Fork for your country | πŸ“§ Get in touch


"The best way to predict the future is to create it." - Peter Drucker

About

CEKA is your go-to civic knowledge hub, keeping you informed and empowered in real time.

Topics

Resources

Contributing

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Contributors 2

  •  
  •