Empowering Rwandan artisans through digital commerce, secure payments, and accessible online marketplaces.
- Introduction
- Problem Statement
- Solution Overview
- Project Goals
- Key Features
- System Architecture
- Technology Stack
- Project Structure
- API Design
- Installation Guide
- Development Roadmap
- Testing Strategy
- Security Considerations
- Future Enhancements
- Contributing
- License
The Local Artisans E-Commerce Platform is a digital marketplace designed to support and promote local artisans in Rwanda. The platform enables artisans to create online stores, showcase handcrafted products, manage inventory, receive payments, and connect with customers both locally and internationally.
The project aims to address challenges faced by artisans who often rely on traditional markets with limited visibility and sales opportunities.
Many talented artisans face the following challenges:
- Limited access to online marketplaces
- Lack of digital marketing skills
- Difficulty managing inventory
- Restricted customer reach
- Limited access to secure online payment systems
- High costs of creating and maintaining e-commerce websites
As a result, many artisans struggle to expand their businesses and increase income.
This platform provides:
✅ Dedicated digital storefronts for artisans
✅ Product catalog management
✅ Secure payment processing
✅ Inventory tracking
✅ Order management
✅ Customer reviews and ratings
✅ Mobile-friendly user experience
✅ Educational resources for digital literacy
By centralizing these services into one platform, artisans can focus on creating products while the system handles the digital business operations.
- Enable artisans to sell products online
- Increase product visibility nationally and internationally
- Simplify inventory management
- Support secure online transactions
- Improve artisans' digital literacy
- Create employment opportunities
- Promote Rwandan culture and craftsmanship
- Support economic growth through digital commerce
- Build a scalable platform for future expansion
- Create artisan profiles
- Manage store information
- Upload product images
- Update product details
- Track product quantities
- Receive low-stock notifications
- Monitor product availability
- View orders
- Monitor revenue
- Analyze product performance
- Browse products by category
- Search products
- Filter products
- View artisan profiles
- Add products to cart
- Checkout securely
- Track orders
- Save favorite products
- Leave reviews
- Rate products
- Share feedback
- User management
- Product moderation
- Payment monitoring
- Order oversight
- Analytics dashboard
- System reporting
The platform follows a modular architecture based on modern software engineering principles.
┌─────────────────┐
│ Frontend │
│ Vue.js SPA │
└────────┬────────┘
│
▼
┌─────────────────┐
│ REST API Layer │
│ Express.js │
└────────┬────────┘
│
┌───────┴────────┐
▼ ▼
MySQL File Storage
Database Product Images
| Technology | Purpose |
|---|---|
| Vue.js | User Interface |
| Vue Router | Routing |
| Axios | API Requests |
| Pinia/Vuex | State Management |
| Bootstrap/Tailwind | Styling |
| Technology | Purpose |
|---|---|
| Node.js | Runtime Environment |
| Express.js | REST API |
| JWT | Authentication |
| Multer | File Uploads |
| Bcrypt | Password Hashing |
| Technology | Purpose |
|---|---|
| MySQL | Relational Database |
| MongoDB (Future) | NoSQL Migration |
src/
│
├── assets/
│ ├── images/
│ ├── styles/
│ └── icons/
│
├── components/
│ ├── Navbar.vue
│ ├── ProductCard.vue
│ ├── Footer.vue
│ └── Cart.vue
│
├── views/
│ ├── Home.vue
│ ├── Products.vue
│ ├── ProductDetails.vue
│ ├── Cart.vue
│ ├── Checkout.vue
│ └── Dashboard.vue
│
├── router/
│ └── index.js
│
├── services/
│ └── api.js
│
├── store/
│ └── index.js
│
├── App.vue
└── main.js
server/
│
├── config/
│ └── db.js
│
├── controllers/
│ ├── authController.js
│ ├── productController.js
│ ├── orderController.js
│ └── paymentController.js
│
├── middleware/
│ ├── authMiddleware.js
│ ├── roleMiddleware.js
│ └── errorHandler.js
│
├── models/
│ ├── User.js
│ ├── Product.js
│ ├── Order.js
│ └── Payment.js
│
├── routes/
│ ├── authRoutes.js
│ ├── productRoutes.js
│ ├── orderRoutes.js
│ └── paymentRoutes.js
│
├── uploads/
│
├── utils/
│
├── app.js
└── server.js
POST /api/auth/register
POST /api/auth/login
GET /api/auth/profileGET /api/products
GET /api/products/:id
POST /api/products
PUT /api/products/:id
DELETE /api/products/:idGET /api/orders
POST /api/orders
GET /api/orders/:idgit clone https://github.com/yourusername/local-artisans-platform.git
cd local-artisans-platformcd server
npm installcd ../frontend
npm installCreate a .env file:
PORT=5000
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=password
DB_NAME=artisan_store
JWT_SECRET=your_secret_keynpm run devnpm run serve- Requirements gathering
- UI/UX wireframes
- Database design
- Authentication
- Product APIs
- Order APIs
- Payment integration
- Landing page
- Product pages
- Shopping cart
- Checkout system
- Unit testing
- API testing
- User acceptance testing
- Cloud hosting
- Domain configuration
- SSL setup
- Controller testing
- Utility testing
- API endpoint validation
- Database operations
- Artisan workflows
- Customer purchase workflows
- JWT Authentication
- Password hashing with Bcrypt
- Role-based access control
- Input validation
- SQL injection prevention
- HTTPS communication
- Secure file uploads
- Environment variable protection
- Mobile Application
- AI-powered product recommendations
- Multi-language support
- Advanced analytics dashboard
- International shipping integration
- Mobile Money integration
- Stripe & PayPal integration
- Real-time order tracking
- Chat system between customers and artisans
Contributions are welcome.
- Fork the repository
- Create a feature branch
git checkout -b feature/new-feature- Commit changes
git commit -m "Add new feature"- Push changes
git push origin feature/new-feature- Open a Pull Request
This project is licensed under the MIT License.
Project: Local Artisans E-Commerce Platform
Purpose: Academic Research, Community Development, and Digital Transformation for Local Artisans in Rwanda.
Vision: To create a sustainable digital marketplace that promotes local craftsmanship, economic inclusion, and technological empowerment.