README.md 2.55 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Клиент-серверное приложение на Flask (Python 3.9.7)

Функционал сервер:

    База данных:
        - yml-файл
        - Redis

    Endpoint GET:
        - Возвращает все соответствия из БД
    Endpoint POST:
        - Принимает длинную ссылку и метод шифрования 'uuid4' или 'timestamp', 
            генерирует 6  уникальных символов для ссылки)
        - Возвращает сгенерированную короткую ссылку.
    
    Дополнительно:
        - Обработка не существующей страницы
        - Обработка страницы redirect
19
20
        - Проверка ссылки на существование
        - При добавлении новой ссылки проверяется есть или она уже в базе
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56


Функционал Клиент:

    Страница Главная:
        - Отображает форму для сокращения ссылки:
            Поле для вставки ссылки
            Меню выбора метода шифрования
            Кнопка "Сократить" для генерации короткой ссылки
        
        - Отображает таблицу всех существующих ссылок в БД:
            №, Ключ, Значение
    
    Страница Переадресации:
        - Отображает таймер через которое будет выполен redirect
        - Отображает блок рекламы
    
    Страница 404:
        - Отображает сообщение об ошибке 404



Запуск приложения:

#### При помощи `docker-compose`

1. Склонировать проект:

`git clone [URL] [DIR]`

2. Перейти в директорию проекта

`cd [DIR]`

3. Ввести команду в терминале:

57
`docker-compose up --build`
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76

4. Сервер автоматически запустится и будет доступен в браузере по адресу:
`http://127.0.0.1:5000/`
или 
`http://localhost:5000/`

5. Данные сохраняются в примонтированный `volume`


#### Настройки
В файле `docker-compose` значение переменной **STORAGE_TYPE**
может быть двух типов:

`STORAGE_TYPE: redis`
 или 
`STORAGE_TYPE: yaml`