Управляйте рассылками с MESSAGE SERVICE!
- Создайте .env файл в папке 'email_app' на одном уровне вложенности с файлом manage.py (используйте пример из файла env.example)
- Перед запуском docker-compose из консоли установите пароль для БД в переменную среды командой: export POSTGRES_PASSWORD=EmailApp123 (пароль должен совпадать с паролем в .env файле)
- Также измените дефолтное значение таймаута для HTTP-соединения у контейнеров в момент сборки - из консоли запустите команду: export COMPOSE_HTTP_TIMEOUT=300 (300 сек. вместо 60 сек.)
- Запустите команду в консоли: docker-compose -f docker-compose.yml up --build (дождитесь завершения сборки сети контейнеров)
- Если по какой-то причине процесс остановился с ошибкой - вызовите команду из консоли: docker-compose down и дождитесь остановки. Затем повторите предыдущий шаг
- После завершения сборки сети нужно создать superuser для Django Admin в контейнере с приложением Django: docker exec -it email_backend /bin/bash (и далее: python manage.py createsuperuser)
- Авторизуйтесь в Django Admin ( http://127.0.0.1/admin ) и установите 'IntervalSchedule' для Celery Beat: 5, 10, 30 секунд (три интервала)
- Регистрируйтесь >> Входите в ЛК >> Добавляйте клиентов >> Создавайте рассылки >> Редактируйте и подтверждайте >> Проверяйте статус рассылки
- Если сообщение не будет отправлено с первого раза - повторная попытка произойдет через минимум 5 секунд. И так будет происходить пока не наступит таймаут - после первой попытки 60 секунд
- Если время окончания рассылки наступит раньше чем таймаут - попытки отправки сообщения будут остановлены
- Страница со Swagger-UI доступна по адресу: http://127.0.0.1/api/schema/swagger-ui/
- Страница с Redoc доступна по адресу: http://127.0.0.1/api/schema/redoc/
- Есть заготовка приложения с интеграцией со Stripe (реализована) и авторизацией по OAuth (частично реализована - сервис авторизации реализован на FastAPI & Vue.js)
- Вариант со Stripe + OAuth - https://github.com/KD3821/email_app/tree/oauth
- Сервис авторизации (DOLLAR SERVICE) на FastAPI - https://github.com/KD3821/dollar_app & минимальным фронтендом на Vue.js + Vuetify- https://github.com/KD3821/dollar_vue