Skip to content

Latest commit

 

History

History
83 lines (66 loc) · 4.5 KB

README.md

File metadata and controls

83 lines (66 loc) · 4.5 KB

Clinic

Описание

Простое приложение, которое позволяет записаться на прием к врачу в поликлинике. Пациент указывает свои ФИО и электронную почту, регистрируется (при этом он получает письмо на указанную почту со своим логином и сгенерированным паролем). Сразу после регистрации он автоматически логинится и попадает на страницу записи на прием к врачу.

Пациент может выбрать любую доступную дату (дату в прошлом он не может выбрать), расписание настраивается в админпанели (доступны только часы и дни работы из рабочего расписания). По умолчанию режим работы: Пн-Пт, с 9 до 18 часов. Далее пациент может выбрать любого врача из доступных (добавляются админом системы, который указывает также их специализацию; один из врачей может быть главврачом), а также время приема, который длится один час, к примеру, c 9:00 до 10:00. После записи на прием пациент попадает в свой кабинет, где может видеть только приемы, на которые он записался (допустим, врачебная тайна). Врач, заходя в свой кабинет, может видеть так же только свои приемы, т. е. он не может видеть приемы других врачей. Врач на должности главврача видит все приемы. При этом врачи не могут создавать приемы (допустим, врач получает зарплату в зависимости от количества приемов).

Реализация

Бэкенд приложения сделан на Python 3.4, Djangо 1.8, Django Rest Framework 3.0 Фронтенд написан на Angular 1.4.5 Бэкенд с фронтендом независимы, и связанны с помощью REST API. Авторизация проходит с помощью токена. В репозитарии содержится как исходный код фронтенда, так и скомпилированный (минифицированный) дистрибутив.

Описание REST API

  • /api/admin/ -- вход в Django-админпанель
  • POST /api/rest-auth/login/ -- логин
  • пустой POST /api/rest-auth/logout/ -- выход
  • POST /api/patients -- создание пациента и автоматическая авторизация
  • GET /api/visits -- все приемы авторизованного пользователя
  • POST /api/visits -- создание приема
  • GET /api/doctors -- все врачи поликлиники
  • GET /api/doctors/1 -- врач с id 1
  • GET /api/doctors/1/hour/2015-10-10 -- свободные часы приема для врача с id 1
  • GET /api/doctors/1/visits -- приемы авторизованного пользователя у врача с id 1
  • POST /api/doctors/1/visits -- создание приема у врача с id 1

Установка

$ git clone git://github.com/vechnoe/clinic
$ cd clinic
$ make
$ make run

Приложение будет доступно по адресу: http://localhost:8000

Логин админа admin@site.com Пароль админа 12345

Все тестовые пользователи имеют пароль: 12345

Лицензия

Copyright © 2015 Максим Чернятевич. clinic распространяется на условиях лицензии MIT:

https://raw.githubusercontent.com/vechnoe/clinic/master/LICENSE

Контакты

Сообщения об ошибках и пожелания отправляйте на почту: maxim.chernyatevich@gmail.com