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.
- 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
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
- Clone the repository:
git clone https://github.com/yourusername/ngwenya.git
cd ngwenya- Install Wrangler CLI globally:
npm install -g wrangler- Set up the Strapi backend:
cd backend
npm install- 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- Set up the React Router frontend:
cd ../frontend
npm install- Set up environment variables:
cp .env.example .env.local
# Add your Strapi backend URL and Cloudflare configurations- Start the development servers:
# Backend (in one terminal)
cd backend && npm run develop
# Frontend (in another terminal)
cd frontend && npm run dev- Deploy to Cloudflare Workers:
# Deploy backend
cd backend && wrangler deploy
# Deploy frontend
cd frontend && wrangler deploy- Open your deployed URLs for both frontend and backend
We welcome contributions from the Malawi tech community! Here's how you can get involved:
- Request Access: Submit a contributor request through the Strapi admin panel
- Review Process: Our team will review your application and expertise
- Onboarding: Once approved, you'll receive access to the contributor dashboard in Strapi
- Start Writing: Begin creating content through the Strapi CMS interface!
- 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
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- 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
- 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
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
- Website: ngwenya.mw
- Twitter: @NgwenyaTech
- Email: contributors@ngwenya.mw
- Discord: Join our community
This project is licensed under the MIT License - see the LICENSE file for details.
- Malawi tech community for their continuous support
- All contributors who share their knowledge and expertise
- Open source projects that make this platform possible
For questions, suggestions, or partnership opportunities:
- Email: hello@ngwenya.mw
- Phone: +265 XXX XXX XXX
- Address: Lilongwe, Malawi
Made with β€οΈ for the Malawi tech community