STORES Product Blog

こだわりを持ったお商売を支える「STORES」のテクノロジー部門のメンバーによるブログです。

STORES 予約

サービス間通信を GraphQL Schema Stitching で実装する

はじめに STORES 予約でエンジニアをしているhiromu617です。この度 STORES では STORES レジ に STORES 予約 がもつ予約情報を連携できる機能をリリースしました。 この機能を提供するにあたってサービス間で通信をする必要がありました。サービス間の通信…

STORES モバイルだより 2023冬号

こんにちは、STORESでモバイルエンジニアをしている @tomorrowkey です。 2023年もおわりに近づいてきたので、今年のSTORES モバイルだよりをお送りしたいと思います。 半年くらいのペースでだしたいところだったのですが、前回 のおたよりから1年も経ってし…

RailsでのJSON Serializationをもっと簡単にやる

この記事は STORES Advent Calendar 2023 の30日目の記事です。 はじめに STORES 予約でエンジニアをしている望月です。 近年、Webアプリケーションのフロントエンド開発において、Reactなどのモダンな技術がリッチなユーザーインターフェースの実現を目指し…

STORES 予約 におけるFullCalendarの活用事例

この記事は STORES アドベントカレンダーの12月20日の記事となります。 はじめに こんにちは、 STORES 予約 でエンジニアをしているyuta07です。 この度 STORES 予約 では、12月に予約カレンダーを正式リリースしました。 突然ですが、Web上でカレンダーの開…

STORES 予約 のデプロイフロー今昔

はじめに こちらは STORES アドベントカレンダーの12/15日分の記事となります。 STORES 予約 のバックエンドエンジニアをしている矢作です。 私がこのプロダクトの開発に携わり出してから約3年半ほど経過しております。 その中で何度かデプロイパイプライン…

Visual regression testingを導入してみた

はじめに この記事はSTORES Advent Calendar 2023 19日目の記事です。 こんにちは、 STORES 予約 でエンジニアをしている@tontokoです。 STORES 予約 の開発チームでは月に1回、コードクリーニングタイムと呼ばれる日を設けています。 これは普段なかなか手…

年末に向けた大掃除 〜Androidアプリのライブラリバージョンアップ〜

こんにちは、モバイルアプリエンジニアのnekoです。 今回は STORES ADVENT CALENDAR 10日目の記事として、先日行ったKotlinを始めとしたAndroidアプリのライブラリバージョンアップの話を書きたいと思います。 概要 まず、概要として、主なバージョン変更箇…

RubyKaigi 2023に参加した結果、RailsのYJITを有効化しパフォーマンス向上した

STORES 予約 でエンジニアリングマネージャーをしている natsume です。 今回はRubyKaigi 2023に参加して「うぉぉなんかやるぞぉ!」となった結果、STORES 予約 のバックエンドであるRailsアプリケーションをYJIT有効化しパフォーマンス向上できました。 動…

STORES 予約 における予約者さま向けアプリリニューアルの裏側 Androidアプリ編

はじめに STORES 予約 モバイルエンジニアの satoryo です。 この記事は「STORES 予約 における予約者さま向けアプリリニューアルの裏側 Androidアプリ編」になります。 ここからは Coubic by STORES 予約 Android版のリニューアルについてソースコードを交…

STORES 予約 における予約者さま向けアプリリニューアルの裏側 iOSアプリ編

はじめに STORES 予約 モバイルエンジニアの neko です。 この記事は「STORES 予約 における予約者向けアプリリニューアルの裏側 iOS編」です。 今回のリニューアルついては、この記事のほか、PM&デザイナーとAndroidエンジニアの記事も公開されています。 …

STORES 予約 における予約者さま向けアプリリニューアルの裏側 PM・デザイナー編

リニューアルの背景と目的 具体的にやったこと リリース当初のアプリコンセプトと、現在の利用状況との差分理解 リニューアルコンセプトを決めるワークショップ 既存の情報設計整理 理想の情報設計整理 UI / UXの設計と狙い 画面デザイン タブの設計 現在の…

2022年の「推しプロ」開発を振り返る

こんにちは。宮里(@miyahirok)と申します。STORES 予約 のプロダクトマネージャーをしております。 年末の振り返りを兼ねて記事を書こうとアドベントカレンダーにエントリーしたのですが、師走の忙しさとサッカーW杯の興奮の合間で筆無精っぷりを発揮してし…

開発フローでちょっと便利なツールをCloudflare Workersで作る

STORES 予約 でエンジニアリングマネージャーをしています、ykpythemindです。この記事は STORES Advent Calendar 2022 の20日目です。 STORES 予約 では以前ご紹介した、細かくPull Requestを積み重ねてデプロイをしていく戦略 で開発をしています。今回はC…

STORES 予約 Androidアプリを Jetpack Compose でフルリニューアルしました

はじめに こちらは STORES Advent Calendar 2022 19日目の記事です。 はじめまして、モバイルアプリエンジニアの satoryoです。 4月に入社し、 STORES 予約 の Androidアプリを担当しています。 先日その STORES 予約 Androidアプリを Jetpack Compose でフ…

予約受付期間改善プロジェクトで得た知見と反省

予約受付期間改善プロジェクトで得た知見と反省 目次 はじめに 受付期間改善 概要 改善点 table 設計 デモ機能 反省と知見 double write/callback を行う際に気にかけること issue を積むことの重要性 planning の質 命名のトレードオフ 利用者側に立って機…

STORES 予約 アプリへのasync/await導入

この記事は STORES Advent Calendar 2022 の 14日目の記事です。 はじめに STORES 予約 のモバイルアプリエンジニアnekoです。 先日、開発を担当している STORES 予約 iOSアプリでasync/awaitを導入しました。 まだリファクタリングすべき箇所は残っているも…

初めてEMになって半年間でやってきたことの振り返り

STORES 予約 でエンジニアをしている natsume です。生後半年の子猫をお迎えし毎日癒やされています。 はい、かわいい STORES 予約 の開発チームは、自分が入社した2021年6月の段階ではエンジニア6名のチームでしたが、1年経った2022年6月では15名になり、エ…

2つのプロダクト開発チームを横断した開発環境セットアップもくもく会を実施しました

ネットショップ開設サービス STORES でフロントエンドグループのエンジニアリングマネージャーをしております、 daitasuと申します。 STORES には大きく5つのプロダクトがあり、それぞれ別のチームとして開発を進めています。 今までプロダクトを越境して開…

STORES 予約 コンテナ化への道のり 前編

はじめに STORES 予約でSREを担当している矢作です。 STORES 予約では今年(2022年)の9月にアプリケーションを構成する大多数のサーバーをEC2からECSへと移行することでコンテナ化(以降ECS化)しました。 今回はコンテナ化をすることで解決を目指した課題につ…

STORES 予約 のリファクタリング(後編)

STORES 予約 で Webアプリケーションエンジニアをしています。ykpythemindです。 STORES 予約 では機能開発する際に積極的にリファクタリングを行っています。 前回 は支払い方法API部分のリファクタリングを途中まで紹介しました。後編ではより踏み込んだリ…

入社後の3ヶ月を振り返る

はじめに STORES 予約 でモバイルアプリの開発を行なっているnekoと申します。 私は2022年の3月にheyに入社し、まもなく5ヶ月が経過しました。 STORES 予約 のモバイルアプリチームは、私が入社した時点ではエンジニアが1人しらおらず、私が入社して2人にな…

【イベントレポート】SmartHR×hey PM10人規模の組織・プロダクトのリアル

5月25日(水)に開催した【SmartHR×hey】PM10人規模の組織・プロダクトのリアル」にて、お話した内容を一部ご紹介します! トークテーマの紹介 PM組織の課題ぶっちゃけトーク編として、①プロダクト戦略ってどう作っていますか?②採用以外の組織課題は何です…

STORES 予約 のリファクタリング(前編)

STORES 予約 で Webアプリケーションエンジニアをしています。ykpythemindです。 STORES 予約 では機能開発する際に積極的にリファクタリングを行っています。今回は実際の例からその手法を前後編に分けて紹介します。 想定読者はWebアプリケーション開発を…

mablを活用した STORES 予約 のE2Eテスト戦略

最初に STORES 予約 の開発をしているTak-Iwamotoです。 STORES 予約 ではmablを使用して、少しずつE2Eテストを導入し始めています。 この記事ではmablをどのように使用しているのか、利用する上でのtipsなどを書かせていただきます。 mablとは mablはブラウ…

XStateを支える概念と実装方法について

最初に STORES 予約 の開発をしているTak-Iwamotoです。 STORES 予約 は元々 Coubic というサービス名でリリースされ、heyにジョインしたタイミングで STORES 予約 としてリブランディングされました。 ただ、今でもエンドユーザーさまが予約する画面は Coub…

2年間実施してきた体験入社のノウハウ

STORES 予約 で Webアプリケーションエンジニアをしています。ykpythemindです。 STORES 予約 チームでは採用選考プロセスの1つとして、体験入社を実施しています。今回はその体験入社の内容とTipsを書きます。 想定読者は、チームとして採用活動をしたいエ…

モックしないテストも書く話

STORES 予約 でwebアプリケーションエンジニアをやっております。ykpythemindです。 皆さん、Webアプリケーションのテストを書いていますか。 モック(mock)を使っていますか。 今回は自動テスト上で、偽物だけではなく(要所で)本物を使おうよという話を書…

マイクロサービス化を進めていたが、切り戻してモノリスで開発しているお話

はじめに この記事はhey Advent Calendar16日目の記事です。 STORES 予約 開発チーム @arrow_make です。 昨年度まで進めていたマイクロサービス化を止めてモノリスで開発するに至った過程について書いていきます。 STORES 予約 におけるマイクロサービス化 …

STORES 予約 の細かいPull Requestとデプロイ戦略

STORES 予約 でwebアプリケーションエンジニアをやっております。ykpythemindです。 本記事は hey Advent Calendar 2021 の15日目です。 STORES 予約 は2013年のサービス開始から8年ほど経ち、ある程度成熟した Webアプリケーションになってきました。 新型…

STORES 予約 のReactで踏み抜いたアンチパターンと現在

最初に この記事はhey Advent Calendarの2日目です。 STORES 予約 の開発をしているTak-Iwamotoです。 2021/11/27に行われたJSConfでSTORES 予約 を支えるフロントエンドの技術と題して発表しました。 この記事ではその中から抜粋して、 STORES 予約 のフロ…