Обзор
Тема моего проекта - разработка архитектуры базы данных бизнесов в сфере услуг для внутреннего анализа предприятия.
Для принятия решений на основе данных руководителю необходимо видеть все аспекты своего бизнеса. Решение этой проблемы и представляет мой проект. Мое решение состоит в представлении всей информации, взятой из базы данных бизнеса, в виде понятных для человека графиков и диаграмм.
Цели
Создание понятного пользовательского интерфейса
Разработка архитектуры базы данных бизнесов в сфере услуг для внутреннего анализа предприятия
Технические подробности
Серверная часть проекта написан на двух языках программирования: python и sql.
Python
Python - высокоуровневый язык программирования общего назначения. Выбор этого языка программирования обусловлен наличием большого количества библиотек и фреймворков для этого языка.
SQL
SQL - язык программирования, применяемый для создания, модификации и управления данными в базе данных, управляемой соответствующей системой управления базами данных. Является языком запросов. Данный язык программирования был выбран, так как на данный момент он является самым популярным языком для взаимодействия с базами данных
Пользовательский интерфейс написан на js, а именно на библиотеке React, с использованием HTML и CSS.
JS(Java Script)
JavaScript - язык программирования, обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам
HTML
HTML - стандартизированный язык гипертекстовой разметки документов для просмотра веб-страниц в браузере. Веб-браузеры получают HTML документ от сервера по протоколам HTTP/HTTPS или открывают с локального диска, далее интерпретируют код в интерфейс, который будет отображаться на экране монитора.
CSS
CSS - формальный язык декодирования и описания внешнего вида документа (веб-страницы), написанного с использованием языка разметки (чаще всего HTML или XHTML). Функционал данного веб-приложения реализован при помощи архитектурного стиля взаимодействия REST, который позволяет максимально разделить backend и frontend части приложения.
Ключевые этапы
Реализация работы с базами данных через Python
На данном этапе проводилась тесная работа с языком Python и библиотекой psycopg2, предоставляющей возможность взаимодействия с базой данных при помощи комбинации двух вышеописанных языков.
Создание серверной части приложения
На данном этапе происходило написание кода на Python с использованием фреймворка Flask, который является одним из самых популярных и достаточно мощных фреймворков в python. Нужно было написать код, который посылал бы запрос в базу данных и возвращал json-файл с нужными нам данными.
Написание пользовательского интерфейса
На этом этапе был использован JS. Код на данном языке программирования превращает json-файл в визуально более понятные таблицы и диаграммы. Также для написания страниц веб-приложения были использованы HTML и CSS.
Фото проекта:
Заключение
В данном проекте мне удалось реализовать пример REST архитектуры. На данный момент приложение предлагает минимально допустимый функционал в виде набора кнопок, при нажатии на которые, предоставляются данные из базы данных, полученные при выполнении того или иного SQL-запроса. В будущем планируется предоставление пользователю возможности самому составлять запросы (т.е определять количество кнопок и их назначение), а также возможность предоставлять базу данных заполненную без использования определенного формата.
Использованная литература
Проектирование RESTful API с помощью Python и Flask - https://habr.com/ru/articles/246699/
Статьи по JS и SQL -https://www.w3schools.com/