Skip to content

fourteekey/UrlShortener

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#Django-Template Демонстрационный проект. При реализации использовал drf, MySQL, логирование, Celery + Redis

Бэкенд

Все действия производятся в директории `backend`

Настройки

$ pip install -r requirements
$ cp config/example.env config/.env
$ python manage.py makemigrations
$ python manage.py migrate

Запуск бэкенда

$ python manage.py runserver
$ celery -A config worker -B -l info

ТЗ

* Приложение НЕ содержит авторизации.
    Приложение отслеживает пользователей по сессии (использовать сессии Django), 
    т.е. у каждого пользователя свой набор редиректов (правил)
* Данные хранятся в MySQL
* При заходе на сжатый URL приложение редиректит (серверный редирект) на соответствующий URL (который был сжат)
* Пользователь по желанию может указать свой <subpart>. 
* Реализация на Django
* Кэширование редиректов в редисе. 
    Требуется сохранить в редис маппинг сокращенного урла с полным адресом, а не объект правила редиректа полностью. 
    НЕ ИСПОЛЬЗОВАТЬ кэширование представлений, QuerySet’ов, и иные высокоуровневые способы, 
    которые подразумевают лишь установку пары атрибутов в настройке приложения
* Очистка старых правил по расписанию:
    удаление записей из MySQL; 
    очистку редиректов из Redis можно реализовать либо вместе с очисткой MySQL, либо по TTL;

About

Сокращатель урлов, без авторизации(используются django session). Celery для очистки старых данных.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors