A Ruby on Rails–powered e-commerce app offering official merchandise for the African Ruby Community, active since 2010 with over 4,000 members across East Africa.
# Duka – Nairuby Community Shop 🛍️
A Ruby on Rails–powered e-commerce app offering official merchandise for the **African Ruby Community**, active since 2010 with over 4,000 members across East Africa.
> Visit the live store:
duka.nairuby.org
---
## 🌟 Features
- 🛒 Shop mugs, t-shirts, and community gear
- 💳 Multi-currency support (KES & USD)
- 🔐 Secure checkout (Stripe/PayPal-ready)
- 🛠 Admin panel for managing inventory
- 📨 Order confirmation emails
- 🔍 Clean, accessible UI with responsive design
---
## 🚀 Built With
- **Ruby on Rails**
- **PostgreSQL**
- **Tailwindcss**
- **Hotwire / Turbo / Stimulus**
- **Stripe or Paystack**
---
## 📦 Getting Started
You can set up this project using either a *Dev Container* for a fully managed environment or a *Manual Setup* if you prefer to manage dependecies yourself.
### Option 1: Manual Setup
### Requirements
- Ruby >= 3.3.6
- Rails >= 8.0.2
- Node.js + Yarn
- PostgreSQL (or SQLite for dev)
### Instructions
1. Clone the repo:
```bash
git clone
github.com
cd duka
```
2. Install dependencies:
```
bundle install
```
3. Set up the database:
```
rails db:setup
```
or
```
rails db:create
rails db:migrate
rails db:seed
```
4. Start the Rails server:
```
bin/dev
```
5. Visit
localhost in your browser.
### Option 2: Dev Container Setup (Recommended)
This project includes a Dev Container to provide a consistent and isolated development environment
### Requirements
- Docker/ Docker Desktop
- Visual Studio Code
- VS Code Dev Containers Extension
### Instructions
1. Clone the repo:
```bash
git clone
github.com
cd duka
```
2. Open in VS Code:
Open the project folder in Visual Studio Code. A pop-up will appear prompting you to "Reopen in Containers." Click this button to build and launch the development container.
3. Set up the database:
Once the container is running, open a new terminal within VS Code and run:
```bash
rails db:setup
```
4. S …