Open-source vegan housing platform - contribute to make it better for everyone!
VedgyProject is a community-driven platform connecting vegan renters with vegan-friendly housing. This is the official repository - contribute code, report bugs, and help build the future of vegan housing together.
Live site: vedgyproject.up.railway.app
VedgyProject helps vegans find housing in vegan-friendly households. Whether you're looking for a fully vegan house or just a welcoming environment, we connect plant-based renters with like-minded hosts.
- Browse vegan-friendly housing listings across major cities
- Filter by price, location, room type, and household vegan status
- Create listings with photo uploads and detailed descriptions
- Sliding-scale payment model ($3-$15) based on ability to pay
- User dashboard to manage listings
- 30-day listing duration with renewal options
- $3: Students and low-income users
- $8: Median income users
- $15: High-income users supporting the platform
- Backend: Django 5.2 (API-only via Django Ninja), PostgreSQL
- Frontend: Flutter Web (Riverpod + GoRouter + Dio)
- Storage: Backblaze B2 for photo uploads
- Hosting: Railway
- Payment: Manual Venmo processing
We need your help to make VedgyProject better! This is an open-source project built by and for the vegan community.
- uv (Python package manager)
- Docker (for local PostgreSQL)
- Flutter SDK (for the frontend —
make installwill install via Homebrew on macOS if missing)
-
Fork this repository (for contributing back to the main project)
-
Clone your fork locally
git clone https://github.com/YOUR-USERNAME/vedgyproject.git cd vedgyproject -
Set up environment config
cp .env.example .env
The defaults in
.env.exampleare pre-configured to work with the local Docker PostgreSQL container. -
Start local PostgreSQL
make db-start
-
Install dependencies and run migrations
make install make migrate
make installinstalls both Python (via uv) and Flutter (viaflutter pub get) dependencies. -
Run locally
make dev
This starts both the Django API server (http://localhost:8000) and the Flutter web app (http://localhost:3000) concurrently. Press Ctrl-C to stop both.
You can also run them separately:
make run # Django API only (localhost:8000) make frontend-run # Flutter web only (localhost:3000)
-
Run all checks
make ci
Runs lint → Django checks → backend tests → frontend lint → frontend tests. All must pass before committing.
-
Create a feature branch and submit a PR
git checkout -b feature/your-feature-name
When finished, open a Pull Request to the
developmentbranch.
Backend:
| Command | Description |
|---|---|
make install |
Install all dependencies (Python + Flutter) |
make run |
Run Django dev server (localhost:8000) |
make test |
Run Django pytest suite |
make lint |
Run autoflake + isort + black |
make check |
Run Django system checks |
make migrate |
Run makemigrations + migrate |
make createsuperuser |
Create Django admin user |
make seed |
Seed DB with test users + listings |
make seed-reset |
Delete and re-create all seed data |
make db-start |
Start local PostgreSQL (Docker) |
make db-stop |
Stop local PostgreSQL (Docker) |
Frontend:
| Command | Description |
|---|---|
make frontend-install |
Install Flutter dependencies (flutter pub get) |
make frontend-run |
Run Flutter web dev server (localhost:3000) |
make frontend-build |
Build Flutter web release (requires API_URL env var) |
make frontend-codegen |
Regenerate freezed/riverpod/json code |
make frontend-lint |
Run dart format check + dart analyze |
make frontend-format |
Auto-format Dart files |
make frontend-fix |
Auto-apply dart fix suggestions |
make frontend-test |
Run Flutter test suite |
Combined:
| Command | Description |
|---|---|
make dev |
Run Django + Flutter concurrently |
make ci |
Run all pre-commit checks (lint, check, test, frontend-lint, frontend-test) |
- Report bugs - Found something broken? Open an issue!
- Suggest features - Ideas for improvements? We want to hear them!
- Fix bugs - Check our Issues for bugs to fix
- Add features - Pick up a feature request or propose your own
- Improve UI/UX - Help make the site more beautiful and usable
- Write tests - Help us maintain code quality
- Update documentation - Keep docs current and helpful
High Priority:
- Enhanced mobile experience
- Search improvements
Medium Priority:
- OAuth integration (Google, GitHub)
- User profiles and messaging
- On-platform messaging system (instead of direct email contact)
- Email notifications
- Saved searches
Long-term Goals:
- Native mobile apps
- Advanced search and filtering
See our Issues for specific tasks!
- Python style: Follow PEP 8
- Commits: Write clear, descriptive commit messages
- Testing: Test your changes locally first
- PRs: Reference any related issues in your PR description
- Community: Be respectful and inclusive
- Create a new branch from development:
git checkout development && git checkout -b feature/your-feature-name - Make your changes and test locally
- Commit with a clear message:
git commit -m "Add feature: description" - Push to your fork:
git push origin feature/your-feature-name - Open a Pull Request to the
developmentbranch (not main)
MIT License - see LICENSE file.
tl;dr: You can use, modify, and distribute this code, but contributions back to this project help everyone in the vegan community!
VedgyProject exists to support the vegan community by making it easier to find housing in vegan-friendly environments.
Our sliding-scale model ensures economic barriers don't prevent access, and our open-source model lets the community shape the platform's future.
Love what we're building? Help keep VedgyProject free and community-focused!
📱 Quick Donations:
- Venmo: @leah-peker
- CashApp: $leahpeker
Your support helps with:
- Server costs and infrastructure
- New feature development
- Keeping the platform ad-free
- Supporting the vegan community
Every contribution, no matter the size, makes a difference! 🌱
- 🐛 Issues: Report bugs or request features
- 💡 Discussions: Share ideas and ask questions
- 📧 Contact: Questions? Email leahpeker@gmail.com
Built with 🌱 by the vegan community, for the vegan community.
Want to see your contribution on a platform used by vegans worldwide? Start contributing today!