mirror of
https://github.com/ryzij/URL-Shortener.git
synced 2026-07-14 03:56:58 +00:00
Добавил примеры
This commit is contained in:
@@ -1,4 +1,3 @@
|
|||||||
POSTGRES_USER=app
|
POSTGRES_USER=app
|
||||||
POSTGRES_PASSWORD=app
|
POSTGRES_PASSWORD=app
|
||||||
POSTGRES_DB=appdb
|
POSTGRES_DB=appdb
|
||||||
DB_HOST=db
|
|
||||||
@@ -1 +1,75 @@
|
|||||||
# URL Shortener
|
# URL Shortener
|
||||||
|
|
||||||
|
Простой API для создания коротких URL и сбора статистики по переходам
|
||||||
|
|
||||||
|
## Возможности
|
||||||
|
|
||||||
|
- Создание коротких ссылок
|
||||||
|
- Редирект по короткому URL
|
||||||
|
- Сбор статистики переходов
|
||||||
|
- REST API
|
||||||
|
- PostgreSQL в качестве базы данных
|
||||||
|
- Swagger для демонстрации HTTP-запросов
|
||||||
|
- Запуск через Docker Compose
|
||||||
|
|
||||||
|
## Установка
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/ryzij/URL-Shortener.git url-short
|
||||||
|
cd url-short
|
||||||
|
```
|
||||||
|
|
||||||
|
### Настройка окружения
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cp .env.example .env
|
||||||
|
```
|
||||||
|
|
||||||
|
Пример `.env`:
|
||||||
|
```
|
||||||
|
# Укажите свои значения
|
||||||
|
POSTGRES_USER=app
|
||||||
|
POSTGRES_PASSWORD=app
|
||||||
|
POSTGRES_DB=appdb
|
||||||
|
```
|
||||||
|
|
||||||
|
### Настройка `docker-compose.yml`
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cp docker-compose.example.yml docker-compose.yml
|
||||||
|
```
|
||||||
|
|
||||||
|
Пример `docker-compose.yml`:
|
||||||
|
```yml
|
||||||
|
services:
|
||||||
|
api:
|
||||||
|
build: .
|
||||||
|
ports:
|
||||||
|
- "5000:8080"
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
environment:
|
||||||
|
ConnectionStrings__DefaultConnection: Host=db;Database=${POSTGRES_DB};Username=${POSTGRES_USER};Password=${POSTGRES_PASSWORD}
|
||||||
|
|
||||||
|
db:
|
||||||
|
image: postgres:17
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
POSTGRES_USER: ${POSTGRES_USER}
|
||||||
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||||
|
POSTGRES_DB: ${POSTGRES_DB}
|
||||||
|
volumes:
|
||||||
|
- pg_data:/var/lib/postgresql/data
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
pg_data:
|
||||||
|
```
|
||||||
|
|
||||||
|
## Запуск
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose up --build -d
|
||||||
|
```
|
||||||
|
|
||||||
|
После запуска Swagger будет доступен по адресу:
|
||||||
|
http://localhost:5000/swagger
|
||||||
|
|||||||
@@ -6,10 +6,10 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- db
|
||||||
environment:
|
environment:
|
||||||
ConnectionStrings__DefaultConnection: Host=${DB_HOST};Database=${POSTGRES_DB};Username=${POSTGRES_USER};Password=${POSTGRES_PASSWORD}
|
ConnectionStrings__DefaultConnection: Host=db;Database=${POSTGRES_DB};Username=${POSTGRES_USER};Password=${POSTGRES_PASSWORD}
|
||||||
|
|
||||||
db:
|
db:
|
||||||
image: postgres:16
|
image: postgres:17
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_USER: ${POSTGRES_USER}
|
POSTGRES_USER: ${POSTGRES_USER}
|
||||||
Reference in New Issue
Block a user