Skip to content

VetoS88/technodar_test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Задание

Разработать небольшое web-приложение, взаимодействующее с базой данных.
Web-приложение должно обеспечивать внесение, модификацию, удаление данных в БД, считывание списков уже внесенных данных и их просмотр.

Использование специализированных JavaScript-библиотек необязательно. Достаточной будет реализация простых HTML-страниц с формами.

Предметная область для базы данных: студенты и зачеты. Необходимо реализовать учет студентов, изучаемых ими предметов и итоговых семестровых оценок, полученных студентами после сдачи сессии.

Должны присутствовать возможность поиска студентов и просмотр личной карточки со всеми оценками студента.

Минимальное количество таблиц: 3, максимальное ограничено разумными сроками выполнения задания.

В таблицах должны быть автогенерируемые идентификаторы. Доступ к базе данных должен осуществляться с использованием библиотеки psycopg2 без специализированных ORM (alchemy и т.п.). Возможно (но необязательно) использование одного из следующих микро-web-фрейморков (flask, bottle). Спроектированную базу данных необходимо заполнить тестовыми данными (с использованием PL\pgSQL), включив в неё 1 млн оценок.

Особенности реализации:

  • Версия Python: от 2.7 и выше
  • Web-сервер: любой
  • PostgreSQL от v.9.1

В результате требуется:

  • исходные коды web-приложения;
  • dump базы данных (набор скриптов для создания и наполнения БД).

Пояснительная записка.

В реализации поставленного задания был задействован следующий стек технологий:

  • Pyhon 3.5.2
  • PostgreSQL 9.5.6
  • psycopg2==2.7.1
  • Flask==0.12.2
  • Веб сервер - локальный сервер разработки фреймворка Flask.

В состав приложения входит:

  • Исходные коды web-приложения. Располагаются в папке /students_app/src
  • Набор скриптов для создания и наполнения БД. Папка /students_app/sql

Установка.

  1. Скачать репозиторий приложения (git clone https://github.com/VetoS88/technodar_test.git (предполагается что git установлен)).
  2. При помощи psql создать базу данных и пользователя используя команды из фала database_init_scripts.sql.
  3. Залогиниться через psql к созданной базе данных (psql -h localhost -U professor -d students), используя учетную запись созданную при помощи команд из п. 2.
  4. Выполнить команды по созданию таблиц в базе даных из файла tables_init_scripts.sql.
    4.1 Опционально: при помощи комманд из файла generate_data_scripts.sql
    можно наполнить базу данных случайными значениями.
  5. Создать виртуальное окружение с использованием Python 3.5
    (python3 -m venv students_venv (предполагается, что под переменной python3 в системе установлен Python 3.5))
  6. Активировать виртуальное окружение (source students_venv/bin/activate)
  7. Установить зависимости из файла "requirements.txt" (pip install -r requirements.txt)
  8. Перейти в папку students_app.
  9. Запустить веб сервер командой python src/run.py (сервис будет доступен по адресу http://localhost:5000).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published