Приложение предназначено для подсчёта количества часов, проведенных студентами на занятии и состоавления соответствующей статистики.
В репозитории почти всё, что необходимое для того, что бы просто клонировать его и помочь улучшить приложение. Но кое-что сделать всё-таки придётся. Во-первых, создать виртуальное окружение. Если есть желание потестить на Azure, то создавать нужно 32-битную windows версию. А далее установить все зависимости из requirements.txt. Во-вторых, сейчас в настройках секретный ключ и информация о базах данных импортируется из модуля private, которого в репозитории, естественно, нет, поэтому необходимо сгенерировать собственный ключ а базой данных указать sqlite3 (в репозитории уже есть пара старых, можно использовать одну из них, но обязательно применить все миграции).
Django-проект разделен на следующие приложения:
- Accounts - приложение для аутентификации с моделями пользователей и групп.
- App - основное приложение (и свалка мусора), всё, что сложно отнести к одно из других приложений здесь. А именно: основной шаблон, страница старосты, главная страница, многие статические файлы, страницы ошибок, модели последних и запланированных изменений.
- Attendance - приложение посещаемости. Содержит единственное представление на основе шаблона и 300 строк представления для отдачи статистики в виде json.
- Manager - (в других местах manage) приложение для панели управления, закрытой от большинства пользователей.
Остальные файлы и папки:
- cache - для файлов кэша (сейчас включен locMemCache)
- temporary - для временных файлов (которых теперь, впрочем, нет)
- wheelhouse - папка с бинарниками пакетов, которые хрен установишь через pip или easy_install обычным способом. На данный момент там только драйвера для MySQL.
- .pyproj, .sln - проект и решение для Visual Studio (PTVS обязателен)
- requirements.txt - файл со списком необходимых пакетов (чуть подробнее ниже)
- runtime.txt - необязательный файл для Azure, указывающий версию Python
- .config - Конфиги для IIS
--find-links wheelhouse
указывает, что прежде чем лезть на PyPi необходимо посмотреть в папке wheelhouse. Виртуальное окружение не входит в репозиторий, поэтому это важно. В папке wheelhouse обязательно должен лежать исходник пакета с драйвером для MySQL.
- Microsoft Azure и ClearDB - хостинги для веб-приложения и для базы данных MySQl соответственно
- Django - Python фреймворк
- JQuery - основной javascript фреймворк
- Materialize, Bootstrap - фреймворки для адаптивной вёрстки
- Hammer.js (в том числе в составе Materialize) - для контроля за жестами на сенсорных экранах
- Chartist - для построения отзывчивых svg графиков
- Offline.js - для постоянного контроля за подключением к серверу (т.к. многие функции работают через ajax это необходимо)
- OudatedBrowser.js - для просветления пользователей IE6
- Material Design for Bootstrap, Snackbar.js - дополнения для Bootstrap
- Animate.css - для быстрого создания анимаций
- WOW.js - для анимаций при прокрутке
- Google Fonts - хостер веб-шрифтов
- Md-preloader - простенький svg прелоадер в стиле Material
- Twitter Typeahead - для удобного поиска в панели управления
- Google Material Icons - материальные иконки от Google
- Fontello - немного недостающих иконок
- Modernizr - для проверки поддержки браузером (пока только на главной)
- SVG.js - для простых анимаций svg
- SvgPorn - источник нескольких svg изображений
И, конечно же:
- stackoverflow.com
- tympanus.net/codrops
- Atom - прекрасный редактор от GitHub на Electron (спасибо ему за линтинг моего
говнонизкокачественного кода) - Inkscape - отличный редактор векторной графики
Я не постоянный житель GitHub (посмотрите профиль, господи), поэтому Pull request'ы или еще что-нибудь могу не заметить. В связи с этим пишите мне на [email protected] или в vk.com/gogamwar