Very small service for providing russian post codes in JSON
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config Изменён URL для скачивания базы данных почтовых индексов Jan 10, 2016
db Database migration Jul 30, 2013
lib Добавляем IP и браузер клиента в отслеживание запросов к JSON API Jan 3, 2015
static Исправление деплоя, переезд, включение HTTPS Jan 3, 2015
views Изменён URL для скачивания базы данных почтовых индексов Jan 10, 2016
.gitignore Небольшие правки Jan 2, 2015
.ruby-version Обновлены версии Ruby (до 2.3.x) и используемых библиотек до последних Jan 10, 2016
.teatro.yml Пробуем Teatro.io на вкус Jan 3, 2015
Capfile Ready to deploying Jul 31, 2013
Dockerfile Dockerize application Jan 29, 2018
Gemfile Обновлены версии Ruby (до 2.3.x) и используемых библиотек до последних Jan 10, 2016
Gemfile.lock Обновлены версии Ruby (до 2.3.x) и используемых библиотек до последних Jan 10, 2016
Procfile Пробуем Teatro.io на вкус Jan 3, 2015
README.md Обновлена информация в README Jan 10, 2016
Rakefile Dockerize application Jan 29, 2018
config.ru Fix possible character encoding issues on some systems Feb 23, 2014
postindexapi.rb Исправление для запуска в production среде Jan 4, 2015

README.md

JSON API доступа к почтовым индексам Почты России

Небольшое веб-приложение, предоставляющее доступ к официальной базе почтовых индексов ФГУП «Почта России» в формате JSON.

Написано на языке программирования Ruby с использованием программного каркаса Sinatra.

URL: http://postindexapi.ru

Зависимости:

Разработка

Для разработки вам потребуется POSIX-совместимая ОС (желательно Linux или Mac OS X), СУБД PostgreSQL, интерпретатор Ruby (рекомендуется устанавливать через RVM) и текстовый редактор (попробуйте Sublime Text).

  1. Склонируйте исходный код: git clone git://git@github.com:Envek/postindexapi.ru и перейдите в папку с исходным кодом;
  2. Установите требуемые зависимости: bundle install;
  3. Скопируйте файлы config/*.yml.sample в config/*.yml и отредактируйте под себя;
  4. Создайте учётную запись в PostgreSQL;
  5. Разверните бэкап БД или установите новую: rake db:schema:load;
  6. Установите утилиту pgdbf для следующего шага;
  7. Скачайте актуальную базу почтовых индексов: rake post_index:update;
  8. Работайте!

Помощь в разработке

Буду рад любой помощи и дополнениям!

Если вы хотите помочь проекту:

  1. Сделайте форк проекта в своём github-аккаунте.
  2. Создайте отдельную ветвь разработки.
  3. Внесите в неё желаемые изменения.
  4. Создайте pull-request из вашей ветви в ветвь master данного репозитария.

Подробнее об этой модели разработки вы можете прочесть в статье о pull request'ах.

Развёртывание

Для развёртывания системы используется Capistrano.

Первое развёртывание

# Установите на сервере следующие пакеты: git pgdbf unzip postgresql postgresql-client libpq-dev wget ca-certificates g++ gcc make libc6-dev libreadline6-dev zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 autoconf libgdbm-dev libncurses5-dev automake libtool bison pkg-config libffi-dev gawk
cap rvm:install_rvm
cap rvm:install_ruby
cap deploy:setup
cap deploy:update
# Отредактируйте на сервере settings.yml и database.yml, создайте пользователя и БД
# Выполните на сервере rake db:setup post_index:update
cap deploy

Повторные развёртывания

cap deploy

Лицензирование

Данное программное обеспечение распространяется на условиях лицензии MIT:

Copyright © 2013-2016 Новиков Андрей Александрович

Данная лицензия разрешает лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми «Программное Обеспечение»), безвозмездно использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, добавление, публикацию, распространение, сублицензирование и/или продажу копий Программного Обеспечения, также как и лицам, которым предоставляется данное Программное Обеспечение, при соблюдении следующих условий:

Указанное выше уведомление об авторском праве и данные условия должны быть включены во все копии или значимые части данного Программного Обеспечения.

ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЙ ПРАВ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО ИСКАМ О ВОЗМЕЩЕНИИ УЩЕРБА, УБЫТКОВ ИЛИ ДРУГИХ ТРЕБОВАНИЙ ПО ДЕЙСТВУЮЩИМ КОНТРАКТАМ, ДЕЛИКТАМ ИЛИ ИНОМУ, ВОЗНИКШИМ ИЗ, ИМЕЮЩИМ ПРИЧИНОЙ ИЛИ СВЯЗАННЫМ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.

С оригинальным текстом лицензии вы можете ознакомиться на сайте opensource.org.