Django Furniture Shop — это полноценное веб-приложение для онлайн-магазина мебели, разработанное с использованием Django. Проект предлагает пользователям удобный интерфейс для просмотра, добавления в корзину и покупки различных товаров. Реализованы функции аутентификации пользователей, регистрация, текстовый поиск, фильтрация и пагинация.
-
Django — основной фреймворк для разработки веб-приложений.
-
Djoser — библиотека для упрощения аутентификации пользователей.
-
PostgreSQL — для хранения данных.
-
Аутентификация и регистрация:
- Пользователи могут зарегистрироваться и войти в систему.
- Реализована система восстановления пароля.
-
Пагинация:
- Список товаров разбит на страницы, что позволяет пользователям легко просматривать ассортимент.
-
Фильтрация:
- Пользователи могут фильтровать товары по категориям, цене, рейтингу и другим параметрам.
-
Полноценный текстовый поиск:
- Пользователи могут искать товары по названию и описанию, используя мощный механизм поиска.
-
Корзина покупок:
- Пользователи могут добавлять товары в корзину, изменять количество и удалять товары.
-
История заказов:
- Пользователи могут просматривать свою историю покупок и статусы заказов.
-
Адаптивный дизайн:
- Интерфейс приложения адаптирован для различных устройств — ПК, планшетов и мобильных телефонов.
-
Получение токена:
-
POST /api/v1/token/
-
Тело запроса:
json { "username": "your_username", "password": "your_password" }
-
-
Регистрация пользователя:
-
POST /api/v1/register/
-
Тело запроса:
json { "username": "your_username", "email": "your_email@example.com", "password": "your_password" }
-
-
Получение списка товаров с пагинацией и фильтрацией:
- GET /api/v1/products/?page=1&category=category_slug&price_min=100&price_max=500
-
Получение деталей товара:
- GET /api/v1/products/slug:product_slug/
-
Создание нового товара:
-
POST /api/v1/products/
-
Тело запроса:
json { "name": "Название товара", "description": "Описание товара", "price": "Цена", "category": "Категория" }
-
-
Поиск товаров по ключевым словам:
- GET /api/v1/products/search/?query=search_term
-
Добавление товара в корзину:
-
POST /api/v1/cart/add/
-
Тело запроса:
json { "product_id": "ID товара", "quantity": "Количество" }
-
-
Создание нового заказа:
-
POST /api/v1/orders/create/
-
Тело запроса:
json { "address": "Адрес доставки", "payment_method": "Способ оплаты" }
-
Проект реализован с использованием принципов чистой архитектуры, что позволяет легко поддерживать и расширять приложение. Каждый компонент изолирован, что обеспечивает высокую степень тестируемости и гибкости. Логика приложения разделена на слои, включая:
- Слой представления (views)
- Слой бизнес-логики (services)
- Слой доступа к данным (repositories)
-
Интуитивно понятный интерфейс: Пользователи могут легко находить и просматривать товары благодаря простому и понятному дизайну.
-
Управление пользователями: Реализована полноценная система аутентификации и регистрации пользователей с помощью Djoser.
-
Корзина покупок: Пользователи могут добавлять товары в корзину, изменять количество и удалять товары по желанию.4. История заказов: После оформления заказа пользователи могут просматривать историю своих покупок.
-
RESTful API: Все функции доступны через хорошо документированный RESTful API, что упрощает интеграцию с другими приложениями и фронтенд-клиентами.
-
Безопасность данных: Использование токенов для аутентификации обеспечивает безопасность пользовательских данных.
-
Фильтрация и пагинация: Удобные инструменты для навигации по большому количеству товаров.
-
Текстовый поиск: Мгновенный поиск по товарам с использованием.