https://github.com/leonid-agalakov-89/kittygram_final
Веб-приложение для обмена фотографиями любимых питомцев и API для него.
https://github.com/leonid-agalakov-89/kittygram_final
django django-rest-framework djoser docker github-actions gunicorn javascript linux nginx postgresql python3 react
Last synced: 3 months ago
JSON representation
Веб-приложение для обмена фотографиями любимых питомцев и API для него.
- Host: GitHub
- URL: https://github.com/leonid-agalakov-89/kittygram_final
- Owner: Leonid-Agalakov-89
- Created: 2024-04-16T19:31:21.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-12T19:33:11.000Z (about 2 years ago)
- Last Synced: 2026-01-03T14:33:21.200Z (6 months ago)
- Topics: django, django-rest-framework, djoser, docker, github-actions, gunicorn, javascript, linux, nginx, postgresql, python3, react
- Language: JavaScript
- Homepage: https://kittygram89.line.pm
- Size: 364 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## О проекте:
Веб-приложение для обмена фотографиями любимых питомцев и API для него. Позволяет размещать профили котиков с указанием имени, года рождения, цветом окраса (на выбор из палитры), любыми достижениями, которые может придумать владелец.
## Проект доступен по ссылке:
```
- https://kittygram89.line.pm
```
## Как запустить проект:
1. Сделайте форк репозитория с гитхаб.
2. Настройте Secrets and variables для Actions в настройках своего гитхаба:
- DOCKER_USERNAME
- DOCKER_PASSWORD
- HOST - IP-адрес вашего сервера
- SSH_KEY - приватный ключ для вашего сервера
- SSH_PASSPHRASE - пароль от вашего сервера
- USER - имя пользователя от вашего сервера
- TELEGRAM_TO - ваш ID в Telegram
- TELEGRAM_TOKEN - токен вашего бота в Telegram (для отправки сообщений об успешном запуске проекта на сервере)
- SECRET_KEY - Это большое случайное число, применяемое для защиты от CSRF. Важно, чтобы ключ, используемый в продакшене, не указывался в исходном коде, и/или не запрашивался с другого сервера. Django рекомендует размещать значение ключа либо в переменной окружения, или в файле с доступом только на чтение. Настройка используется в файле settings.py.
3. Создайте на сервере в домашней дерриктории папку `/kittygram`.
4. В корне этой папке создайте файл .env и заполните данные по примеру `.env.example`
5. Получите доменное имя для вашего сайта.
6. В настройках nginx на сервере сделайте прокси для всех запросов:
```
server {
server_name имя_вашего_сайта;
location / {
proxy_pass http://127.0.0.1:9000;
}
```
7. Настройте cerbot, запустите его и получите ssl сертификат для вашего сайта
8. Перезапустите nginx.
9. Теперь любой push на GitHub в этот репозиторий в ветку main автоматически запустит тесты кода, загрузит образы контейнеров в ваш аккаунт на DockerHub и развернёт проект на сервере.
## Технологии:
Docker
Backend
* Django
* djangorestframework
* djoser
* PostgreSQL
Frontend
* JavaScript
* React
WSGI сервер
* Gunicorn
WEB сервер
* NGINX
CD/CI
* Github Actions
## Об авторе:
Леонид Агалаков - python backend developer
`https://github.com/Leonid-Agalakov-89`