The easiest way to rent a premium 4×4 in Uganda. We connect travellers with verified local car owners — fully online, fully trusted.
| Link | Description |
|---|---|
| Live App | Production deployment |
| Browse Vehicles | See available 4×4s |
| Customer Login | Log in as a customer — use the Quick Access button on the login page to enter without signing up |
| Owner / Admin Login | Log in as owner or admin — use the Quick Access button to log in instantly |
| API Docs | Interactive Swagger UI |
| Health Check | Server status |
| Name | Role |
|---|---|
| George Mutale | Backend |
| Rhyan Lubega | Frontend |
| Oscar Kyamuwendo | Business |
| Boaz Onyango | Database · Security · Business |
Click the Open in GitHub Codespaces badge above and wait for setup to finish, then run:
python -m venv venv && source venv/bin/activate && pip install -r requirements.txt && python run.pyOr with Docker (Codespaces has Docker built in):
docker compose up --buildRequires Python 3.11+. Clone the repo, then:
python -m venv venv && source venv/bin/activate && pip install -r requirements.txt && python run.pyWindows:
python -m venv venv && venv\Scripts\activate && pip install -r requirements.txt && python run.pyUganda is one of East Africa's most breathtaking destinations — from the gorillas of Bwindi to the shores of Lake Victoria and the savannahs of Queen Elizabeth National Park. But getting there in comfort and safety has always been a challenge.
Kari Vari Uganda was built to change that. We are a marketplace that connects travellers directly with verified local 4×4 vehicle owners, cutting out middlemen and putting more money in the hands of Ugandan communities.
What makes us different:
- Every vehicle owner is verified before listing — ID, insurance, and vehicle inspection checks
- Customers can browse, book, and pay entirely online with Stripe, Paystack, or Flutterwave
- Transparent pricing — no hidden fees, no last-minute surprises
- Built and maintained by a team of students at the Technische Hochschule Deggendorf, Uganda
Whether you're planning a gorilla trekking safari, a cross-country road trip, or a weekend getaway, Kari Vari has the right vehicle for you.
We welcome contributions from developers, designers, and travel enthusiasts!
- Found a bug? Open an issue
- Have an idea? Start a discussion
- Want to contribute? Fork the repo, make your changes, and open a pull request — we review all PRs
# Fork on GitHub, then:
git clone https://github.com/YOUR-USERNAME/webapp.git
cd webapp
git checkout -b your-feature-branch
# make your changes
git push origin your-feature-branch
# open a Pull Request on GitHubAll skill levels welcome. If you're unsure where to start, check the open issues labelled good first issue.
pytest tests/ -vExpected: 121 passed
webapp/
├── app/
│ ├── main.py # FastAPI app + router registration
│ ├── config.py # Settings loaded from environment variables
│ ├── database.py # SQLAlchemy engine and session
│ ├── deps.py # Auth / role dependencies
│ ├── security.py # JWT helpers + password hashing
│ ├── models/ # Database table definitions (SQLAlchemy ORM)
│ ├── schemas/ # Request / response shapes (Pydantic)
│ ├── routers/ # API endpoints (auth, bookings, vehicles, …)
│ └── services/ # Email, Stripe, Flutterwave, Paystack
├── tests/ # 121 automated tests (pytest)
├── static/ # CSS, JS, images
├── templates/ # HTML pages (Jinja2 + Tailwind CSS)
├── run.py # ← start here: python run.py
├── Dockerfile # App container image
├── docker-compose.yml # One-command Docker setup
└── requirements.txt # Python dependencies
Every push to main runs automatically:
| Job | What it does |
|---|---|
| Lint & format | ruff check + ruff format --check |
| Security scan | bandit + safety CVE check |
| Tests | 121 tests on Python 3.11 and 3.12 |
| Deploy | Triggers Render deploy — only after all tests pass |
To publish a release:
git tag v1.0.0
git push origin v1.0.0| Layer | Technology |
|---|---|
| Backend | FastAPI (Python 3.11) |
| Database | PostgreSQL 16 (Supabase) |
| ORM | SQLAlchemy 2.0 |
| Auth | JWT (PyJWT) · bcrypt |
| Payments | Stripe · Flutterwave · Paystack |
| Resend API · SMTP | |
| Frontend | Jinja2 · Tailwind CSS |
| Hosting | Render.com |
| CI/CD | GitHub Actions |