Приложения-сайт для проведения аукционнов.
Доступно по ссылке
Оплату прикрутить не удалось( Где-то модерацию не прошло, где-то зарегистрироваться не даёт.
Вот документация, по ней создавал; в телефоне лежала, поэтому в гите не болталась.
Страницы:
- Вход/выход
- Регистрация
- Добавление предмета на аукцион(админ)
- Список аукционов(все)
- Страница аукциона и участие в нём(все)
- Личный кабинет(все)
Api jsonrpc methods:
Endpoint - Post api/v1/jsonrpc/
-
login
Вход пользователя в систему
username: имя пользователя
password: пароль
Возвращает:
- is_admin: bool - Ошибку неверных данных для входа, если не подошёл пароль или логин(-32001) -
logout
Выход пользователя из системы
Возвращает:
- Ок, если успешно вышло - Ошибку незалогиненого пользователя(-32003) -
register
Регистрирует пользователя и запоминает вход на сервере
username: имя пользователя
password: пароль
email: почта
Возвращает:
- Ок, если зарегистрирован - Ошибку уже существующего пользователя(-32000) - Email не прошёл валидацию(-32002) -
add_item
Добавляет предмет для аукциона
Только для админа!
name: название предмета
starting_price: начальная цена
picture: ссылка на картинку
description: описание предмета
end_of_auction: время и дата завершения аукциона
Возвращает:
- Ok, если добавлен - Ошибку отсутствия доступа(-32004) -
change_item_status
Отключение аукциона
Только для админа!
id: уникальный Id предмета
Возвращает:
- Ok, если статус изменён - Ошибку отсутствия доступа(-32004) - Ошибка отсутствия аукциона(-32006) -
get_items
Получить все доступные аукционы
В порядке завершения(сначале те, что раньше)
Возвращает:
- Список разрешённых и активных аукционов для обычных пользователей - Все аукционы для админа - Ошибку отсутствия доступа(-32004) -
get_item
Получить информацию об аукционе
id: уникальный Id аукциона
Возвращает:
+ Ответ, если всё хорошо - name: имя - starting_price: начальная цена - picture: ссылка на картинку - desription: описание - end_of_auction: завершение аукциона - allowed: работает ли аукцион - Ошибку отсутствия доступа(-32004) - Ошибку отсутствия аукциона(-32006) -
bet
Сделать ставку в аукционе
id: уникальный Id аукциона
price: предложеная цена
Возвращает:
- Ок, если ставка сделана - Ошибку отсутствия доступа(-32004) - Ошибку отсутсвия аукциона(-32006) - Ошибку закончившегося аукциона(-32008) - Ошибку невозможности сделать ставку(-32010) -
get_auction_bets
Возвращает ставки, сделаные в аукционе
Порядок: сначала самые большие
Принимает:
- id: уникальный id аукционаВозвращает:
- Список всех ставок по аукциону - Ошибку доступа(-32004) - Ошибку отсутствия аукциона(-32006) -
get_user_bets
Получить ставки пользователя
Порядок: сначала большие ставки
Принимает: ничего
Возвращает:
- Список всех ставок пользователя - Ошибку доступа(-32004) -
get_auction_winner
Получает победителя
Принимает:
- id: уникальный id аукционаВозвращает:
- Победителя, если аукцион закончился - Ошибку ещё неокоченого аукциона(-32007) - Ошибку отсутствия доступа(-32004) - Ошибку отсутствия аукциона(-32006) - Ошибку отсутствия победителя(-32009) -
get_user_info
Возвращает информацию о пользователе
Принимает: ничего
Возвращает:
- username: имя пользователя - email: почта пользователя - is_admin: админ или нет - Ошибку незалогиненого пользователя(-32003)
Jsonrpc ошибки:
- -32000 - Ошибка уже существующего пользователя
- -32001 - Ошибка неверных данных для входа
- -32002 - Email не прошёл валидацию
- -32003 - Ошибка незалогиненого пользователя
- -32004 - Ошибка отсутствия доступа
- -32005 - Метод отключён
- -32006 - Ошибка отсутствия аукциона
- -32007 - Ошибка ещё неоконченого аукциона
- -32008 - Ошибка закончившегося аукциона
- -32009 - Ошибка отсутствия победителя
- -32010 - Ошибка невозможности сделать ставкe ниже последней
Модели для базы данных:
- Пользователь(User)
- username: Имя пользователя
- email: эл почта
- password: хэшированный пароль
- is_superuser: админ или нет
- Аукцион(Auction)
- id: уникальный Id
- name: предмет аукциона
- user(User.username): имя пользователя, создавшего аукцион
- starting_price: начальная цена
- allowed: одобрен ли аукцион
- description: описание аукциона
- picture: url изображения для аукциона
- end_of_auction: время завершения аукциона
- Ставка(Bet)
- id(Auction.id): уникальный Id
- user(User.username): имя пользователя, сделавшего ставку
- bet: ставка пользователя
Используемые технологии:
- aiohttp и расширения
- PeeWee
- Docker
- PostgreSQL
- Vue
- Redis