/vkr

Выпускная квалификационная работа

Primary LanguageJavaScript

Выпускная квалификационная работа (aka диплом)

Выпускная квалификационная работа представляет собой разработку интернет-магазина настольных игр «Dice Harmony».

Logo

logo

Компоненты

Интернет-магазин состоит из 3 компонентов:

  • Веб-сайт, который предназначен для клиентов
  • CRM, которая используется для управления различными аспектами интернет-магазина
  • Telegram-бот, который позволяет быстро получать краткую информацию с веб-сайта

Архитектура

Архитектура интернет-магазина состоит из 3 частей:

  • Базы данных (PostgreSQL, Redis)
  • Backend часть (DRF+telegram-бот)
  • Frontend часть (2 React приложения: CRM + веб-сайт)

Кроме того, используется JWT для аутентификации

Схема архитектуры

architecture

База данных

База данных состоит из 10 таблиц. (Django ORM)

PostgreSQL является основной СУБД, а Redis используется для кеширования.

Упрощённая схема базы данных

data base

Запуск

Репозиторий представляет из себя моно репозиторий.

Backend

Для запуска backend нужно:

  • создать .env файл (смотри .env_example)
cp .env_example .env
  • Запустить проект
Запустить через docker
docker build -t backend . && docker run -p 80:80 backend
Запустить вручную
  • установить python 3.10 и зависимости
pip install -r requirements.txt
  • сделать миграции
python manage.py makemigrations && python manage.py migrate
  • запустить
python manage.py runserver

Frontend

  • установить через npm зависимости
npm init
  • запустить crm/веб-сайт
npm start

Скриншоты

Скриншоты веб-сайта

site 1 site 2 site 3 site 4

Скриншоты CRM

crm 1 crm 2 crm 3 crm 4

Скриншоты Telegram-бота

telegram