Skip to content

SkaDin/site

Repository files navigation

Сайт для любителей тату.

Необходимость проекта:

Предоставляет возможность пользователям публиковать посты с фотографиями своих татуировок. Как личный сайт-портфолио тату-мастеров или студий(благодаря общему функционалу, легко может стать сайтом для любителей фильмов).

Возможности проекта:

Возможность регистрации на сайте, загрузка аватаров(фото по усмотрению).

Просмотр всех постов с тату(доступно любым пользователям), а так же выбор случайной тату из базы данных.

Переход в профиль пользователя и просмотр всех его постов(только для авторизированных пользователей)

Возможность публиковать свои тату, с коротким интересным фактом или другой информацией(только для авторизированных пользователей)

Разделение пользователей по правам:

  • анонимный пользователь

  • зарегистрированный пользователь

  • администратор сайта

Основные используемые технологии:

  • Python 3.11

  • Alembic 1.11.1

  • Flask-Admin 1.6.1

  • Flask-Login 0.6.2

  • Flask-SQLAlchemy 3.0.5

  • Flask-WTF 1.1.1

  • SQLAlchemy 2.0.19

  • Jinja2 3.1.2

Инструкции по развёртыванию проекта:

1. Клонировать репозиторий и перейти в него в командной строке:

git@github.com:SkaDin/site.git

cd site

2. Все зависимости находятся в файле pyproject.toml

3. Пример .env-файла который должен быть создан в корне проекта:

DATABASE_URI=sqlite:///db.sqlite3
SECRET_KEY=my_secret_key
ADMIN_NAME=superhero
ADMIN_PASSWORD=superhero

3.5 Создание юзера с именем таким же как в .env файле наделит пользователя правами администратора и доступом в админ-панель. Админ панель доступна по адресу: http://127.0.0.1:5000/admin

4. Перед первым запуском необходимо ввести команды для заполнения БД тестовыми данными, для этого необходимо ввести команду:

flask load_test_data

5. Ещё одна особенность перед запуском, переименовать дирректорию расположенную по пути просто удалив окончание _example:

site/app/static/people_photo_example

Над проектом трудится: SkaDin(Денис Сушков)