Skip to content

david31009/clockIn-system

Repository files navigation

clockIn-system

  1. 設計一打卡系統,完成後端 server 和資料庫,使能透過 API 進行系統操作,假想有一 前端呼叫這些 API
  2. 用 member.json 作為員工出勤資料,按需求設計資料庫存放
  • 此資料集包含員工工號、日期、上班時間、下班時間

Table of Contents

API 文件

Database Table Schema

  • 查看題目所需的六支 API,將資料匯入同一張表,更能方便查詢。
  • 初始資料 (member.json) 因部分 key 的名稱未統一,需先經過資料清理,才能導入資料庫。
  • 因員工每日打卡只會有一筆紀錄,故將員工工號與日期設定為聯合主鍵,方便快速查詢。
System Architecture

API 的設計與說明

專案部屬方式

  • 於 AWS 上開一台 EC2 的機器,其機器規格為 t2.micro。
  • 將 clockIn-system 專案從 GitHub clone 於開好的 EC2 中。
  • 架設所需的 Node.js 環境,及 MySQL 資料庫。
  • 使用 AWS Elastic IP 服務,可讓 server 擁有固定的 IP 位址。
  • 使用 PM2 套件,使專案能在背景中持續執行。
  • 於 GoDaddy 購買域名,將域名指向 server 的 IP 位址。
  • 於 ZeroSSL 申請 SSL certificate,使 server 成為 https 的安全網站。
  • 利用 NGINX 作為 web server 反向代理,當有 http 請求時,自動綁定 80 port,經由 308 轉址至 https,然後導向 clockIn-system 的 server;當有 https 請求時,自動綁定 443 port,然後導向 clockIn-system 的 server。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published