hw6, hw7
- Redis / Celery / Celery Beat - кэширование популярных тегов и лучших участников - асинхронные уведомления в Centrifugo - отправка email-уведомлений через Celery - полнотекстовый поиск и подсказки - Docker Compose инфраструктура
This commit is contained in:
1 parent
becfbeb070
commit
4bc5fcef7a
154 files changed
+33164
-198
No files matched your search
@@ -1,42 +1,66 @@
|
||||
## Добро пожаловать в мой репозиторий :)
|
||||
# 2026-VK-EDU-Web-12-Istratov-D
|
||||
|
||||
Позже здесь будет проект-дз...
|
||||
## Запуск в Docker
|
||||
|
||||
### О себе
|
||||
1. Скопируйте `.env.docker` в `.env` или создайте свой файл на основе `.env.example`.
|
||||
2. Запустите сервисы:
|
||||
|
||||
Я интересуюсь **backend-разработкой**, **серверными инструментами** и **микроконтроллерами**.
|
||||
Пишу на Java, Python и C++, начинал с написания плагинов для Minecraft и разных полезных утилит.
|
||||
|
||||
🔧 Студент VK Education, курса "Web-разработка".
|
||||
|
||||
|
||||
## Запуск проекта
|
||||
Перед запуском нужно составить корректный .env файл! Можно использовать .env.example!
|
||||
|
||||
### На текущей машине
|
||||
|
||||
```shell
|
||||
python manage.py runserver 8000
|
||||
pip install --no-cache-dir -r requirements.txt
|
||||
```
|
||||
|
||||
### Docker
|
||||
|
||||
ВАЖНО! Использовать .env.docker вместо .env.example в качестве образца!
|
||||
|
||||
```shell
|
||||
```bash
|
||||
docker compose up --build
|
||||
```
|
||||
|
||||
Запустится именно на 127.0.0.1:8000
|
||||
3. Откройте приложение: `http://127.0.0.1:8080`
|
||||
4. Centrifugo доступен на `http://127.0.0.1:8001`
|
||||
5. Maildev доступен на `http://127.0.0.1:1080`
|
||||
|
||||
## Переменные окружения
|
||||
|
||||
## Миграции и заполнение дб
|
||||
В `.env` должны быть:
|
||||
|
||||
Заполнить ДБ 10000 рандомных данных
|
||||
- `SECRET_KEY`
|
||||
- `DEBUG`
|
||||
- `POSTGRES_DB`, `POSTGRES_USER`, `POSTGRES_PASSWORD`
|
||||
- `DB_ENGINE`, `DB_NAME`, `DB_USER`, `DB_PASSWORD`, `DB_HOST`, `DB_PORT`
|
||||
- `REDIS_HOST`, `REDIS_PORT`, `REDIS_CACHE_DB`, `REDIS_BROKER_DB`, `REDIS_BEAT_DB`
|
||||
- `CENTRIFUGO_URL`, `CENTRIFUGO_API_KEY`
|
||||
- `EMAIL_BACKEND`, `EMAIL_HOST`, `EMAIL_PORT`, `DEFAULT_FROM_EMAIL`
|
||||
|
||||
```
|
||||
## Миграции
|
||||
|
||||
После изменений моделей выполните:
|
||||
|
||||
```bash
|
||||
python manage.py makemigrations
|
||||
python manage.py migrate
|
||||
```
|
||||
|
||||
## Дополнительные конфигурации
|
||||
|
||||
- `gunicorn_conf.py` — конфигурация Gunicorn с двумя воркерами.
|
||||
- `simple_wsgi.py` — простой WSGI-приложение для запуска без Django на `localhost:8081`.
|
||||
- `nginx.conf` — пример конфигурации Nginx для отдачи `/uploads/`, статических файлов и проксирования на Gunicorn.
|
||||
|
||||
## Заполнить базу данных
|
||||
|
||||
```bash
|
||||
python manage.py fill_db 10000
|
||||
```
|
||||
|
||||
Когда запущено в докере:
|
||||
|
||||
```bash
|
||||
docker compose exec python-app python manage.py fill_db 10000
|
||||
```
|
||||
|
||||
Это удалит предыдущие данные из дб!
|
||||
|
||||
## Реализовано
|
||||
|
||||
- Redis / Celery / Celery Beat
|
||||
- кэширование популярных тегов и лучших участников
|
||||
- асинхронные уведомления в Centrifugo
|
||||
- отправка email-уведомлений через Celery
|
||||
- полнотекстовый поиск и подсказки
|
||||
- Docker Compose инфраструктура
|
||||
|
||||
```
|
||||
Reference in new issue
Block a user