Skip to content

frederr45/marketplace

Repository files navigation

Marketplace

Учебный проект веб-приложения Flask


Цели проекта

Разработать сайт по продаже автомобилей. Дать пользователям возможность размещать и просматривать объявления.

Функционал

Пользовательский функционал:

  • Можно просматривать объявления о продаже, смотреть фото, описание и технические характеристики каждого объявления. (прим. для того чтоб связаться с владельцем или увидеть номер - нужно войти под своим именем)
  • Пользователь может зарегистрироваться и войти/выйти.
  • Зарегистрированный пользователь может создать и выложить свое объяление, а так же удалить его или отредактировать.
  • Есть возможность написать владельцу и общаться с ним в личных сообщениях.
  • Фильтрация объявлений по марке, модели и стоимости.

Админский функционал:

  • Возможность удалить объявление любого пользователя.
  • На странице, доступной только админам просматривать текущую статистику(количество активных/ неактивных объявлений, список всех пользователей и их объявления)

Описание

Первое что было сделано - это написание парсера load_link.py, который собирает ссылки объявлений на заданном количестве страниц, с них я получил все данные кроме номера, с помощью библиотек selenium, pytesseract был распознан номер и все данные были записаны в 4 csv-файла и БД(PostgresSQL)

Использование

Можно загрузить исходный код в виде Zip архива или клонировать этот репозиторий.

  • Создать свое виртуальное окружение(обязательно)
  • Загрузить все зависимости из requirements.txt
  • Установить и настроить Tesseract
  • Установить и изменить конфигурации ChromeDriver
  • В папке webapp создать файл config.py
from datetime import timedelta
from sqlalchemy import create_engine

# Количество объявлений на странице
AUTO_PER_PAGE = 10 

# Количество сообщений на странице
MESSAGES_PER_PAGE = 10 

SECRET_KEY = "Ваш серетный ключ"
SQLALCHEMY_DATABASE_URI = "Ваш путь к базе данных" 

engine = create_engine(SQLALCHEMY_DATABASE_URI)

#  Сайт запомнинает пользователя на 5 дней
REMEMBER_COOKIE_DURATION = timedelta(days=5) 
  • Для запуска Веб-приложения в виртуальном окружении запускаем run.bat

Заключение


Проект не завершен

Если возникли сложности или замечания, создайте обсуждение в этом репозитории или напишите на электронную почту frederr.45@gmail.com

About

Training project to create a web application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published