naruwo-github / ToDoList-Web-Native-API-DB

To Do List Application : Web app, Native app, API, DB.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ToDoList-Web-Native-API-DB

To Do List Application: Web app, Native app, API, DB.

内容

  • ToDoリストのアプリケーション
    • 環境: Dockerによる仮想環境
    • ブラウザアプリ: React.js, TypeScript, Webpack + Babel
    • ネイティブアプリ: Swift(iOS) & Kotlin(Android)
    • API: Node.js, Express, JavaScript TypeScript, Webpack + Babel
    • データベース: MongoDB

プロジェクトの実行方法

  1. dockerイメージを作成(docker-compose build
  2. dockerコンテナの起動(docker-compose up
  3. ブラウザアプリ: localhost:3000
  4. MongoDB: localhost:27017
  5. API: localhost:4000
    • エンドポイントへのアクセス例
      • GET: curl -X GET localhost:4000/tasks
      • POST: curl -X POST -H "Content-Type: application/json" -d '{...}' localhost:4000/tasks
      • PUT: curl -X PUT -H "Content-Type: application/json" -d '{...}' localhost:4000/tasks/:_id
      • DELETE: curl -X DELETE localhost:4000/tasks/:_id
      • レスポンスのJSONを整形して表示するには、パイプで-mjson.toolの実行の入力値にすれば良い: | python -mjson.tool
  6. モックサーバの起動方法(2通り):
    • /browser-app/json_server/にて$(npm bin)/json-server --watch db.json -p 4000を実行
    • /browser-app/にてnpm run json-serverを実行
  7. Testを行う場合
    • ユニットテスト:/browser-app/にてnpm jestを実行(Jestによるテスト)
    • UIテスト:/browser-app/にてnpm run ui-testを実行(Selenium Webdriverによるテスト)

ブラウザアプリ画面(2021/10/02時点)

img

メモ:実装優先順

  1. APIかつDB:実装中
  2. ブラウザアプリ:実装中
  3. ネイティブアプリ:未着手

About

To Do List Application : Web app, Native app, API, DB.


Languages

Language:TypeScript 66.9%Language:JavaScript 22.1%Language:HTML 8.7%Language:CSS 1.4%Language:Dockerfile 0.9%