R50 1b5023afc88030b087d931acf9c179ae
Бэкенд разработка на Django

RESTourant

Добавлено 17 авг 2023 в 14:13
# RESTourant

### Описание проекта

Данное API было сделано для будущего веб-приложения ресторана в Армении. API разделено на две части: SuperAdmin и Business. В первой реализуется админинстрирование всех существующих бизнесов и пользователей. Во вторую имеет доступ только конкретный бизнес или Главный Админ. В ней реализуется добавление и редактирование меню, а также аккаунтов официантов. В рамках реализации проекта был выполнен деплой Docker контейнере на виртуальную машину.

### Пользовательские роли

1. Superuser - Главный Админ, который может осуществлять администрирование всех данных
2. Business - Бизнес зарегистрированный в системе, имеет доступ только к своему меню, категориям, официантам, столам.
3. Waiter - Модель официанта, создается конкретным бизнесом.

### Описание реализованных функций

Business:

* Добавление и редактирование блюд
* Добавление и редактирование категорий для блюд
* Добавление и редактирование столов
* Генерация QR-code, содержащих ссылку, ведущюю к определенному столу
* Добавление и аутентицикация по JWT Официантов

SuperAdmin:

* Аутентификация по JWT Главных Админов и Бизнесса
* Добавление и редактирование объектов "бизнес"

### Как запустить проект:

Клонировать репозиторий и перейти в него в командной строке:

```
git clone https://github.com/Grindelwaldoff/RESTourant.git
```

Далее необходимо добавить файл переменных окружения с произвольными данными.

```
DB_ENGINE
DB_NAME
POSTGRES_USER
POSTGRES_PASSWORD
DB_HOST
DB_PORT
```

Далее запустить контейнер:

```
sudo docker-compose up -d
```

Провести миграции:

```
sudo docker-compose exec web python manage.py makemigrations
```

```
sudo docker-compose exec web python manage.py migrate
```

Создать суперпользователя:

```
sudo docker-compose exec web python manage.py createsuperuser
```

Сайт откроется по этой ссылке:

```
http://127.0.0.1/admin/
```

#### Используемые технологии:
* Python 3.8
* Django 3.2
* PostgreSQL
* Docker
* JWT-Auth
* NGINX
* Django Rest Framework

### Разработчик:
Всеволод Рыбник tg: @Grindelwaldoff


8224e5d406