یک سیستم پیشنهاد کافه هوشمند که بر اساس موقعیت جغرافیایی و ترجیحات کاربران، بهترین کافهها را پیشنهاد میدهد.
- ثبتنام و لاگین با شماره تلفن - احراز هویت ساده و امن
- پروفایل کاربری کامل - اطلاعات شخصی، موقعیت مکانی، ترجیحات
- سیستم امتیازدهی - لایک و کامنت روی کافهها
- ثبت کافه توسط کاربران - هر کاربر میتواند کافه جدید اضافه کند
- اطلاعات کامل کافه - آدرس، امکانات، ساعات کاری، منو
- سیستم امتیازدهی خودکار - محاسبه میانگین امتیاز از نظرات کاربران
- مدیریت توسط صاحبان - کنترل کامل صفحات کافه توسط مالکان
- پیشنهاد بر اساس موقعیت - کافههای نزدیک به کاربر
- فیلتر بر اساس ترجیحات - نوع کافه، امکانات، قیمت
- جستجوی پیشرفته - بر اساس نام، شهر، امکانات
- Backend: Django 4.2.25 + Django REST Framework
- Database: SQLite (قابل تغییر به PostgreSQL/MySQL)
- Authentication: شماره تلفن + Token Authentication
- File Storage: Local (قابل تغییر به AWS S3)
- Image Processing: Pillow
- API: RESTful APIs
- احراز هویت با شماره تلفن
- اطلاعات شخصی و موقعیت مکانی
- ترجیحات کافه
- اطلاعات کامل کافه
- موقعیت جغرافیایی
- امکانات و ویژگیها
- سیستم امتیازدهی
- منوی کافه با دستهبندی
- قیمتگذاری
- وضعیت موجودی
- سیستم لایک و کامنت
- امتیازدهی 1-5 ستاره
- تایید نظرات
- Python 3.8+
- pip
- virtualenv
- کلون کردن پروژه
git clone <repository-url>
cd wikibuno- ایجاد Virtual Environment
python3 -m venv venv
source venv/bin/activate # Linux/Mac
# یا
venv\Scripts\activate # Windows- نصب Dependencies
pip install -r requirements.txt- تنظیم Environment Variables
cp env.example .env
# فایل .env را ویرایش کنید- اجرای Migration ها
python manage.py makemigrations
python manage.py migrate- ایجاد Superuser
python manage.py createsuperuser- اجرای سرور
python manage.py runserverwikibuno/
├── config/ # تنظیمات Django
│ ├── settings.py
│ ├── urls.py
│ ├── wsgi.py
│ └── asgi.py
├── user/ # اپلیکیشن کاربران
│ ├── models.py # مدل User و UserProfile
│ ├── views.py
│ ├── serializers.py
│ └── urls.py
├── buno/ # اپلیکیشن کافهها
│ ├── models.py # مدلهای Cafe, Menu, Like, Comment
│ ├── views.py
│ ├── serializers.py
│ └── urls.py
├── media/ # فایلهای آپلود شده
├── static/ # فایلهای استاتیک
├── requirements.txt # Dependencies
├── manage.py
└── README.md
فایل env.example را کپی کرده و به .env تغییر نام دهید:
SECRET_KEY=your-secret-key
DEBUG=True
ALLOWED_HOSTS=localhost,127.0.0.1پیشفرض: SQLite برای تغییر به PostgreSQL:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'wikibuno_db',
'USER': 'your_user',
'PASSWORD': 'your_password',
'HOST': 'localhost',
'PORT': '5432',
}
}POST /api/auth/register/- ثبتنامPOST /api/auth/login/- لاگینPOST /api/auth/logout/- خروج
GET /api/cafes/- لیست کافههاPOST /api/cafes/- ایجاد کافه جدیدGET /api/cafes/{id}/- جزئیات کافهPUT /api/cafes/{id}/- ویرایش کافهDELETE /api/cafes/{id}/- حذف کافه
GET /api/recommendations/- پیشنهادات بر اساس موقعیتGET /api/search/- جستجوی کافهها
python manage.py test- اپلیکیشن موبایل (React Native/Flutter)
- سیستم پرداخت آنلاین
- رزرو میز
- اعلانهای Push
- تحلیلهای پیشرفته
- سیستم وفاداری
- یکپارچهسازی با شبکههای اجتماعی
- Fork کنید
- Branch جدید ایجاد کنید (
git checkout -b feature/amazing-feature) - تغییرات را commit کنید (
git commit -m 'Add amazing feature') - Branch را push کنید (
git push origin feature/amazing-feature) - Pull Request ایجاد کنید
- مستندات کامل API - راهنمای جامع تمام endpoint ها و مثالهای استفاده
- تستها: 48 تست واحد که تمام قابلیتها را پوشش میدهند
- Django Admin: رابط مدیریت کامل برای ادمینها
# اجرای تمام تستها
python manage.py test
# اجرای تستهای خاص
python manage.py test user.tests
python manage.py test buno.tests
python manage.py test user.test_views
python manage.py test buno.test_views# ایجاد superuser
python manage.py createsuperuser
# دسترسی به admin
http://localhost:8000/admin/این پروژه تحت مجوز MIT منتشر شده است. فایل LICENSE را برای جزئیات بیشتر مطالعه کنید.
- ایمیل: [email protected]
- لینکدین: majid LinkedIn
ساخته شده با ❤️ برای جامعه کافهدوستان ایران