Skip to content
No description, website, or topics provided.
Vue JavaScript CSS
Branch: develop
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.
assets
components
layouts
middleware
pages
plugins
static
store/user
.editorconfig
.gitignore
.prettierrc
README.md
nuxt.config.js
package.json
public.key
yarn.lock

README.md

概要

出退勤を記録するためののwebアプリケーション

やること

  • オフラインMTGして要件・gitプロジェクトを共有
  • フロント実装
  • PWA化
  • デプロイ(余裕あれば)
  • デザイン(余裕あれば)

要求・要件

技術的要求

  • gitは最初にこちらで用意して共有します
  • nuxt/vue.jsを必ず使ってください
  • cssフレームワークは指定ないです。一番自分が使いやすいものにしてください
  • フロント側に出退勤の時間を保存する必要はないです。(MFクラウドとデータの同期ができないので)
  • サーバー側は@Tanakaさんのfirebaseのfunctionを使ってください(後述)
  • (余裕あれば)フロントエンドのデプロイは指定ないです。一番自分が使いやすいものにしてください
  • Dockerは使っても使わなくてもどちらでもいいです

業務要求

  • 現状は、出退勤を外部のwebサイトにメアド・パスワードを元にしてログインしなければならない。
    • 記録し忘れが頻発しているので、物理的なデバイスをオフィスに置くことで記録し忘れを防ぎたい
    • デバイスはiPadを想定
      • デバイスからfirebaseのfunctionを叩いて、firebase内でヘッドレスブラウザでログインして出勤・退勤を記録する仕組みが既にある状況
  • iPadにwebサイトをPWAとしてホーム画面に保存しておき、そのアプリを常時表示できるようにする予定(その作業自体はこちらでやります)
  • 出勤・退勤を簡単に記録できる
  • 従業員の登録・編集・削除ができるようにしたい
  • 従業員数は5~20人を想定してください。

参考情報

APIサーバー

エンドポイント

POST https://httpstat.us/200

正常=>200系

エラー=>400系

POSTパラメータ

jsonで、

  • type(string): 'in' or 'out'。in=出勤時。out=退勤時
  • uid(string): ユーザーのID。ログイン画面に入力するメールアドレス。
  • pass(string): ログイン画面に入力するパスワードを公開鍵で暗号化された文字列。

ログイン画面

https://payroll.moneyforward.com/

パスワード暗号化について

パスワードをそのまま保存すると、セキュリティ上問題があるので、パスワードは鍵で暗号化します

こちらで共有するパスワードを、公開鍵を元に暗号化して使ってください。

https://github.com/wwwtyro/cryptico

testtestというパスワードを上記の公開鍵で暗号化して、リクエストを送ると正常系responseが帰ってくるはずです

それ以外はエラーのresponseが返ってきます

You can’t perform that action at this time.