Этот проект реализует веб-приложение на Django для обмена вещами между пользователями. Приложение позволяет:
- Создавать, редактировать и удалять объявления о вещах.
- Предлагать обмен между объявлениями пользователей.
- Принимать или отклонять предложения.
- Просматривать список объявлений и предложений.
- Использовать REST API и автоматическую документацию через Swagger.
git clone <repo-url>
cd barter_project
python -m venv .venv
source .venv/bin/activate # или .venv\Scripts\activate на Windowspip install -r requirements.txtpython manage.py migrate
python manage.py createsuperuserpython manage.py runserver- Создание, редактирование и удаление объявлений.
- Поиск и фильтрация по
title,description,category,condition. - HTML-интерфейс с Bootstrap.
- Пользователь выбирает своё объявление и чужое, добавляет комментарий.
- Автоматически создаётся предложение со статусом "в ожидании".
- Получатель может принять или отклонить предложение.
- Реализованы endpoint'ы для CRUD объявлений и предложений обмена.
- Используется библиотека
drf-spectacularдля автодокументации.
- Доступно по адресу:
/api/docs/ - JSON-схема:
/api/schema/
- Создавать/редактировать/удалять объявления может только их автор.
- Ответить на предложение может только получатель соответствующего объявления.
pytestПокрытие:
- Создание объявления
- Создание предложения обмена и автоматический статус
- Python 3.12
- Django 4.2
- Django REST Framework 3.16
- drf-spectacular
- pytest + pytest-django
- Bootstrap 5 (CDN)