LibertyPost — это новостной веб-сайт с открытым исходным кодом, созданный в рамках дипломного проекта студента кафедры КС ПГУТИ. Сайт позволяет зарегистрированным пользователям публиковать статьи в формате Markdown, автоматически преобразуемом в HTML. Проект использует современные технологии и предоставляет функциональность, схожую с реальными новостными платформами.
LibertyPost — это полнофункциональное новостное приложение, включающее в себя:
- Систему публикации и модерации статей
- Поддержку Markdown-разметки
- Авторизацию и личный кабинет пользователя
- Разделение прав (модераторы, авторы)
- Интерфейс на основе Django Admin и пользовательского шаблона
Проект развернут по адресу: https://binido.online и доступен по HTTPS.
- Python — основной язык разработки, простой в изучении, с большим сообществом и множеством библиотек.
- Django — высокоуровневый фреймворк для веб-разработки, предлагающий мощную ORM, встроенную админку, маршрутизацию, систему шаблонов и многое другое.
- PostgreSQL — надёжная и масштабируемая СУБД с поддержкой расширенных типов данных и транзакций.
- Docker — контейнеризация приложения для лёгкой развертки в разных средах.
- Docker Compose — управление многоконтейнерными конфигурациями.
- Nginx — производительный веб-сервер, используемый как обратный прокси и сервер статики.
- HTTPS (Let's Encrypt) — обеспечивает безопасное соединение между пользователем и сайтом.
Для запуска с использованием Docker выполните следующие шаги:
- Скопируйте файл настроек:
cp .env.example .env
- Если вы хотите использовать встроенную PostgreSQL базу данных, закомментируйте внешнюю базу в
.env
:
# POSTGRES_HOST=...
- Запустите сборку и запуск контейнеров:
docker compose up --build -d
После запуска приложение будет доступно по адресу http://localhost:8000
.
Если вы хотите запустить проект локально без Docker:
- Клонируйте репозиторий и перейдите в его директорию:
git clone https://github.com/your-username/libertypost.git
cd libertypost
- Скопируйте файл настроек:
cp .env.example .env
- Создайте виртуальную среду Python и активируйте её:
python -m venv .venv
# Windows
.venv\Scripts\activate
# Linux/macOS
source .venv/bin/activate
- Установите зависимости:
pip install -r requirements.txt
- Примените миграции:
python manage.py migrate
- Создайте суперпользователя (по желанию):
python manage.py createsuperuser
- Запустите сервер разработки:
python manage.py runserver
Если вы используете режим отладки DEBUG=True
, можно также использовать команду:
python manage.py runserver --insecure
Проект распространяется под лицензией MIT.
Разработано в рамках дипломного проекта студента кафедры КС ПГУТИ.