Skip to content

myutadev/ec-suite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

260 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EC Suite

自社EC事業効率化のための自動化アプリケーション。 node.jsを使ってAmazonSP-APIを中心とする物販関連のAPIにアクセスし、情報の取得を行いスプレッドシートに出力する。
パート・アルバイトの方でも簡単に使えるようにGoogleSpreadシート上にボタンを作成し、各機能のURLにリクエストを送ると各機能が起動する。

URL

https://ecsuite.work/ *バージョン表示のテキストが表示されるだけでviewは実際には使わない

機能一覧

  • Amazon関連
    • ASINから商品カタログ情報を抽出
    • 日次の売上レポート更新
    • 在庫・納品関連レポートの取得
    • 週次で商品販売価格、在庫有無の取得
    • Amazon SKU ->FNSKU変換
  • Keepa関連
    • セラーIDからセラーの販売商品一覧を取得
  • Shopee関連
    • 価格更新データの作成

使用技術

Category Technology Stack
Backend express.js(4.18.2)
Infrastructure さくらのVPS(Ubuntu 20.04), Nginx, Let's Encrypt
CI/CD GitHub Actions
Database MariaDB
Environment setup Docker
API Amazon SP-API, Keepa, Shopee, DeepL
etc. Git, GitHub

フォルダ・ファイル構成

本プロジェクトでは、コードの可読性と管理のしやすさを重視して、各機能ごとにフォルダを分けています。主要なフォルダは src/apisrc/lib です。それぞれのフォルダの詳細な構成について説明します。

src/api

このフォルダには、外部APIへのリクエストやその結果をGoogleスプレッドシートに書き出すためのJavaScriptファイルが格納されています。各ファイルは明確な役割を持ち、名前付け規則に基づいて整理されています。

  • get~ ファイル: 外部APIからデータを取得するためのリクエストを行います。
  • write~ ファイル: 取得したデータを加工し、Googleスプレッドシートに書き込むための処理を行います。

例:

  • getSearchCatalogItems.js
  • writeSearchCatalogItems.js

src/lib

このフォルダには、プロジェクト全体で再利用可能なユーティリティ関数や独自ライブラリが格納されています。これにより、共通処理を一箇所にまとめておき、コードの重複を避けることができます。


GitHub Actionsの活用

GitHub Actionsを使用し、リモートリポジトリのmainブランチが更新されたときに、自動でVPS上のアプリにデプロイし、再度Dockerコンテナを立ち上げるように設定しました。

反省点・修正したいところ

  • プログラミングを始めてすぐにまず動くツールを作りたいという動機でどんどん自分がほしいツールを作っていったため、コードの重複やムダが発生しています。どこかのタイミングでリファクタリングを行い、コードの重複を削減し、効率的な構造にしたいと考えています。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors