Skip to content

TechMalawi/project-ngwenya

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 

Repository files navigation

Project Ngwenya πŸ‡²πŸ‡Ό

A modern blog platform dedicated to Malawi's tech ecosystem and innovation

Note: The project name "Ngwenya" is subject to change during development.

Project Ngwenya is a collaborative blog site focused on sharing and promoting technology news, insights, and developments from Malawi. The platform serves as a hub for the Malawian tech community to share knowledge, showcase innovations, and connect with fellow tech enthusiasts.

🌟 Features

  • Tech News & Articles: Latest technology news and developments from Malawi and beyond
  • Community Contributions: Open platform for tech enthusiasts to share their insights
  • Contributor Management: Easy process for requesting access and joining as a contributor
  • Modern Interface: Clean, responsive design optimized for all devices
  • Content Categories: Organized sections for different tech topics and industries
  • User Profiles: Contributor profiles showcasing their expertise and contributions

πŸš€ Getting Started

Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js (v18 or higher)
  • npm or yarn package manager
  • Git
  • Wrangler CLI (Cloudflare Workers CLI)
  • Cloudflare account

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/ngwenya.git
cd ngwenya
  1. Install Wrangler CLI globally:
npm install -g wrangler
  1. Set up the Strapi backend:
cd backend
npm install
  1. Configure Cloudflare Workers for Strapi:
# Login to Cloudflare
wrangler login

# Set up D1 database
wrangler d1 create ngwenya-db

# Update wrangler.toml with your database ID
  1. Set up the React Router frontend:
cd ../frontend
npm install
  1. Set up environment variables:
cp .env.example .env.local
# Add your Strapi backend URL and Cloudflare configurations
  1. Start the development servers:
# Backend (in one terminal)
cd backend && npm run develop

# Frontend (in another terminal)
cd frontend && npm run dev
  1. Deploy to Cloudflare Workers:
# Deploy backend
cd backend && wrangler deploy

# Deploy frontend
cd frontend && wrangler deploy
  1. Open your deployed URLs for both frontend and backend

🀝 Contributing

We welcome contributions from the Malawi tech community! Here's how you can get involved:

Becoming a Contributor

  1. Request Access: Submit a contributor request through the Strapi admin panel
  2. Review Process: Our team will review your application and expertise
  3. Onboarding: Once approved, you'll receive access to the contributor dashboard in Strapi
  4. Start Writing: Begin creating content through the Strapi CMS interface!

Contribution Guidelines

  • Content Quality: Ensure articles are well-researched and provide value to readers
  • Originality: All content must be original or properly attributed
  • Relevance: Focus on technology topics relevant to Malawi and Africa
  • Professional Tone: Maintain a professional and respectful tone
  • Proper Formatting: Use markdown formatting for consistency

Code Contributions

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“ Content Categories

  • Startup News: Updates from Malawian tech startups and entrepreneurs
  • Government Tech: Digital transformation initiatives and e-governance
  • Education Technology: EdTech developments and digital learning
  • Mobile Technology: Mobile apps, USSD services, and mobile money
  • Infrastructure: Internet connectivity, data centers, and telecom
  • Innovation: Tech hubs, incubators, and innovation centers
  • Career Development: Tech jobs, skills development, and training opportunities

πŸ› οΈ Tech Stack

  • Frontend: React Router v7 (SSR), React, TypeScript
  • Backend: Strapi CMS
  • Styling: Tailwind CSS
  • Database: PostgreSQL
  • Authentication: Strapi Authentication
  • Content Management: Strapi Admin Panel
  • Media Management: Strapi Media Library
  • Deployment: Cloudflare Workers
  • Database: Cloudflare D1 (SQLite) or external PostgreSQL
  • Storage: Cloudflare R2 (for media files)
  • Analytics: Google Analytics

πŸ“Š Project Structure

ngwenya/
β”œβ”€β”€ frontend/           # React Router v7 SSR application
β”‚   β”œβ”€β”€ app/           # App routes and components
β”‚   β”œβ”€β”€ components/    # Reusable UI components
β”‚   β”œβ”€β”€ styles/        # Global styles and Tailwind config
β”‚   β”œβ”€β”€ lib/          # Utility functions and configurations
β”‚   β”œβ”€β”€ types/        # TypeScript type definitions
β”‚   β”œβ”€β”€ wrangler.toml # Cloudflare Workers configuration
β”‚   └── tests/        # Frontend test files
β”œβ”€β”€ backend/           # Strapi CMS backend
β”‚   β”œβ”€β”€ api/          # API endpoints and controllers
β”‚   β”œβ”€β”€ components/   # Reusable Strapi components
β”‚   β”œβ”€β”€ config/       # Strapi configuration
β”‚   β”œβ”€β”€ extensions/   # Strapi extensions
β”‚   β”œβ”€β”€ middlewares/  # Custom middlewares
β”‚   β”œβ”€β”€ policies/     # Access control policies
β”‚   β”œβ”€β”€ wrangler.toml # Cloudflare Workers configuration
β”‚   └── public/       # Static assets for Strapi
└── docs/             # Project documentation

🌍 Community

πŸ“„ License

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

πŸ™ Acknowledgments

  • Malawi tech community for their continuous support
  • All contributors who share their knowledge and expertise
  • Open source projects that make this platform possible

πŸ“ž Contact

For questions, suggestions, or partnership opportunities:


Made with ❀️ for the Malawi tech community

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors