Приложение со схожим с Pastebin.com функционалом. Пользователь может разместить свой текст с уникальной ссылкой и поделиться с другими. (Для ограничения доступа можно установить пароль). Также, если пользователь аутентифицирован, то он сможет изменить и удалить свой текст. При создании текста пользователь выбирает, через какое время он будет удалён.
- Redis: Для кэширования текстов и в качестве брокера сообщений.
- Celery: Для асинхронной отправки писем по электронной почте.
- Django-allauth и social-django: Система аутентификации пользователей через сайт и социальные сети.
- PostgreSQL
- Docker
- Bootstrap и css
- Добавьте
localhost
или ваш домен Ngrok в параметрALLOWED_HOSTS
в файлеsettings.py
. - Создайте файл
.env
с вашими переменными (добавьте его в директорию, на уровнеmanage.py
).
Примерный вид вашего файла .env
(без пробелов и кавычек):
SECRET_KEY=...
DATABASE_NAME=...
DATABASE_USER=...
DATABASE_PASSWORD=...
DATABASE_HOST=db
DATABASE_PORT=...
EMAIL_HOST_USER=...
EMAIL_HOST_PASSWORD=...
SOCIAL_AUTH_VK_OAUTH2_KEY=...
SOCIAL_AUTH_VK_OAUTH2_SECRET=...
SOCIAL_AUTH_VK_OAUTH2_REDIRECT_URI=...
SOCIAL_AUTH_GOOGLE_OAUTH2_KEY=...
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET=...
SOCIAL_AUTH_GOOGLE_OAUTH2_REDIRECT_URI=...
SOCIAL_AUTH_DISCORD_KEY=...
SOCIAL_AUTH_DISCORD_SECRET=...
SOCIAL_AUTH_DISCORD_REDIRECT_URI=...
DEBUG=False
ALLOWED_HOSTS=...
CSRF_TRUSTED_ORIGINS=...
- Запустите в главной директории на уровне
manage.py
:
docker-compose up --build
Затем выполните миграции:
docker-compose exec web python manage.py migrate
Чтобы создать суперпользователя:
docker-compose exec web python manage.py createsuperuser
-
Установите Ngrok для использования вашего компьютера как сервера и публикации сайта с HTTPS Ссылка на Ngrok
-
В консоли Ngrok выполните:
ngrok http 8000
Либо получите бесплатный домен в личном кабинете и выполните:
ngrok http --hostname=<your host> 8000
- создайте и настройте приложения для входа через соц сети добавьте данные в .env:
discord: https://discord.com/developers/applications
google: https://console.cloud.google.com/cloud-resource-manager
- Добавьте ваш домен Ngrok в CSRF_TRUSTED_ORIGINS и ALLOWED_HOSTS и запустите контейнер.
docker-compose up --build