トップページ > 製品紹介 >  スマートフォンアプリバックエンド事例 〜検索アプリ向けAPI&記事配信システム〜

製品紹介

スマートフォンアプリバックエンド事例 〜検索アプリ向けAPI&記事配信システム〜

制作年 2016年
技術
アプリ
API
クローラ
CMS
検索エンジン

MySQL
Groonga
Nginx
Python

プロジェクト概要

ライフイベントに関わる情報収集を簡単にするためのiPhoneアプリです。
ネット記事をカテゴリ別に閲覧したり検索して、気に入った情報を保存することができます。
マリーチはこのアプリの初期開発を行い、また現在に至るまでバックエンドシステム全般を担当しています。

技術解説

大きく分けて、記事の収集(クローリング)を行う部分と、アプリと情報をやりとりするAPI部分があります。

全体的に、マリーチの他のプロジェクトと同様に、プログラム言語Pythonを使っています。Pythonは記述のシンプルさによる保守性の高さが特徴的な言語で、Googleでもよく使われています。近年は機械学習/AIの分野で使われることが多く、ホットな言語と言えます。

ネット記事の収集には、Pythonで開発したマリーチ独自のクローラを使っています。このクローラは数十〜数百程度のWebサイトを登録してWebページを収集・分類するための、拡張性を持つ汎用システムです。

クローラは設定にもとづき、定期的に各サイトから記事を取得し、記事かどうかの判別や本文抽出などを行います。
収集された記事は、リレーショナルデータベースに格納されると同時に、検索サーバでインデックスされます。
データベースにはMySQLを、検索サーバにはGroongaを使っており、MySQLとGroongaの間の連携はプログラムにより自動的に行われるようになっています。

アプリから呼び出されるサーバ側プログラムはDjango Webアプリケーションフレームワークの上に開発されています。
Djangoの管理画面上で、日次スケジュール配信のための簡易ワークフローを用意しています。
アプリからはAPI呼び出しやWebViewでサーバにアクセスしますが、その時カスタムリクエストヘッダなど複数の方法でアプリのバージョン番号を受け取り、それによって動作を変えるようになっています。

制作費用のお問い合わせ、案件のご相談はこちらのフォームからご連絡ください