Skip to content

An elderly care map website connected to Google API and using Taiwan rlderly care facility data.

Notifications You must be signed in to change notification settings

yarikama/Elderly-Care-Map-Website

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Final Project Proposal

💆🏻 **成員:**109704001許恒睿、109704038孫于涵、110350028翁華駿、110704008羅緯翔

影片展示

https://drive.google.com/file/d/1vSyCnu_Az3-GZU9DhUnR5SUKbIGK6qCg/view?usp=sharing

Application design

動機與主旨

在為家人查詢長照相關服務時感到資訊混淆,頁面不清等情況發生。因此我們小組想要為年長者及其家屬設計方便的資料庫,從統整公開的資料著手,設計資料庫架構,最後到網頁前後端設計。

CRUD

  • Create: 可供使用者創立自己帳號
  • Read: 可供使用者進行關於長照服務的地區、功能、規則進行查詢
  • Update: 可供使用者更新自己的蒐藏機構
  • Delete: 可供使用者刪除自己的蒐藏機構

介面

界面分為兩大類:

  • 搜尋界面

    • 功能、服務搜尋
    • 地域搜尋
    • 床位多寡排序
    • 相近距離排序
  • 地圖頁面

    • 提供自家地址搜尋
    • 在點選地標時標示相關資訊
    • 方圓功能
    • 相關資訊如服務、網址、聯絡資訊

實作功能

  • 床位數進行分類,如床位數多為綠燈、床位數中為黃燈、床位數低為紅燈,排序呈現。
  • 服務項目進行分類,和搜尋。
  • 縣市、鄉鎮進行搜尋。
  • 利用google geography地圖化項目來讓人直接觀看此地址所需資訊,如聯絡方式、網址、電話
  • 設定地址,提供方圓幾公里內有哪些機構,床位數狀態等等。
  • 設定地址提供機構的距離
  • 提供**搜尋機構名字,**提供機構資訊。
  • 點選地址可以直接連結到google導航中。
  • 以功能分類時,提供相關網站介紹規定,如衛服部。

Data

直接點擊名稱即可到資料來源的所在網址

**長照ABC據點

機構名稱、機構代碼、機構種類、縣市、區、地址全址、經度、緯度、O_ABC、特約服務項目、特約縣市、特約區域、機構電話、電子郵件、機構負責人姓名、特約起日、特約迄日、最後異動時間

**全國機構名冊

Untitled

衛服部長照專區

長照規則、申請說明

ERModel

使用QuickDBD實現繪製ERM,但此軟體的relationship只有(mandatory)1:M(optional)可選擇,不一定和實際設定情況相同。

  • institution:將此機構的基本資料作為table
    • ins_num:代表機構代號,由系統產生不重複且類似index的值作為代號,為PK
    • ins_name:代表機構的名稱
  • ins_info:將機構的相關資訊作為table
    • ins_num:代表機構代號,由系統產生不重複且類似index的值作為代號,為PK,以及連向institution的FK
    • manager:負責人的中文姓名
    • phone:機構的聯絡電話
    • website:機構的相關網址
  • ins_capacity:將機構的床位數作為table
    • ins_num:代表機構代號,由系統產生不重複且類似index的值作為代號,為PK,以及連向institution的FK
    • car_num:代表提供之安養型床位數
    • nurs_num:代表提供之養護型床位數
    • dem_num:代表提供之失智照顧型床位數
    • lcar_num:代表提供之長期照護型床位數
    • housing_num:代表目前使用中床位數
    • providing_num:代表提供之總床位數
      • (derived attribute ⇒ 上述cal, lcar…提供之床位的總和)
  • type_func:代表機構的長照等級和功能作為table
    • ins_num:代表機構代號,由系統產生不重複且類似index的值作為代號,為PK,以及連向institution的FK
    • type:代表機構類型
      • (如:長照ABC,或是私人機構等等)
    • func_name:代表提供之服務,連向func_web的func_name之FK
      • (因通常一機構只會顯示主要提供服務,不會或沒有寫副項)
  • func_web:代表藉由服務名稱所連結到的規則網址作為table
    • func_name:代表提供之服務,為PK
    • web:代表對應之網址
  • member:代表與使用者的相關資料
    • member_id:代表使用者代號,由系統產生不重複且類似index的值作為代號,為PK
    • member_name:代表使用者暱稱
    • member_email:代表使用者的email
      • 同時作為帳號
    • member_password:代表使用者的密碼
  • member**_favorite**:代表使用者的蒐藏機構
    • member_id:代表使用者代號,由系統產生不重複且類似index的值作為代號,為PK,同時也是連向user.user_id的FK
    • ins_num:代表機構代號,由系統產生不重複且類似index的值作為代號,為PK,以及連向institution的FK
ABC分級 服務項目 (15) 內容 規定、備註
A
(1) 個案管理服務 居家服務+日間照顧 擬訂計畫、輔導BC單位
B
(13) 小規模多機能服務
日間照顧服務
交通接送服務
到宅沐浴車服務
居家失能個案家庭醫師照護服務
居家服務
家庭托顧服務
專業照護服務
喘息服務
團體家屋服務
輔具及居家無障礙環境服務
營養餐飲服務 居家照顧、社區照顧、機構照顧 其一 小規模、多機能長照服務
C
(1) 巷弄長照站 共餐、健康促進、延緩失能 社區參與(里)、臨時短時數照顧、培育中高齡與學生人力資源
  • ins_address:代表機構和地址相關的資訊作為table
    • add_id:代表機構地址的代號,由系統產生不重複且類似index的值作為代號,為PK
      • (由string構成add當作PK或FK會造成效率浪費,所以增加此特性為PK達到方便運算)
    • add:代表機構所在的地址全名
    • city:代表機構所在的縣或市
    • dist:代表機構所在的區或鄉
    • longitude:代表機構所在的經度
    • latiitude:代表機構所在的緯度

Untitled

# Modify this code to update the DB schema diagram.
# To reset the sample schema, replace everything with
# two dots ('..' - without quotes).

institution
-
ins_num PK smallint 
ins_add_id FK >- ins_address.add_id smallint
ins_name UNIQUE varchar(50)

ins_capacity
-
ins_num PK smallint FK >- institution.ins_num 
caring_num smallint
nurse_num smallint
dem_num smallint
emp_num smallint #derived
long_caring_num smallint
housing_num smallint #derived
providing_num smallint

ins_info
-
ins_num PK smallint FK >- institution.ins_num
manager varchar(28)
phone varchar(50)
email varchar(100)
website varchar(500)

ins_address
-
add_id PK smallint
add varchar(100)
city char(6)
dist varchar(15)
longitude float
latitude float

type_func
-
int_num PK smallint FK >- institution.ins_num
type smallint
func_name varchar(60) FK >- func_web.func_name

func_web
-
func_name PK varchar(60)
func_website varchar(500)

user
-
user_id int PK
user_name unique varchar(50)
user_email varchar(100)
user_password varchar(50)

user_favorite
-
user_id int PK FK >- user.user_id
ins_num smallint PK FK >- institution.ins_num

Work Plan


Time Schedule

Untitled

Untitled

Untitled Database

Discussion

https://highfalutin-biplane-60c.notion.site/099d5c5a546546ff90322269b20ac268

Repository

https://github.com/Weng-john/DBcourse

DROP DATABASE IF EXISTS Final_Project;

CREATE DATABASE Final_Project; 

USE Final_Project;

CREATE TABLE `institution` (
    `ins_num` smallint  NOT NULL ,
    `ins_name` varchar(100)  NOT NULL ,
    PRIMARY KEY (
        `ins_num`
    ),
    CONSTRAINT `uc_institution_ins_name` UNIQUE (
        `ins_name`
    )
);

CREATE TABLE `ins_capacity` (
    `ins_num` smallint  NOT NULL ,
    `caring_num` smallint  NOT NULL ,
    `nurse_num` smallint  NOT NULL ,
    `dem_num` smallint  NOT NULL ,
    -- derived
    `long_caring_num` smallint  NOT NULL ,
    -- derived
    `housing_num` smallint  NOT NULL ,
    `providing_num` smallint  NOT NULL ,
    PRIMARY KEY (
        `ins_num`
    )
);

CREATE TABLE `ins_info` (
    `ins_num` smallint  NOT NULL ,
    `manager` varchar(28)  NOT NULL ,
    `phone` varchar(50)  NOT NULL ,
    `email` varchar(100)  NOT NULL ,
    `website` varchar(500)  NOT NULL ,
    PRIMARY KEY (
        `ins_num`
    )
);

CREATE TABLE `ins_address` (
    `ins_num` smallint  NOT NULL ,
    `addr` varchar(100)  NOT NULL ,
    `city` char(6)  NOT NULL ,
    `dist` varchar(15)  NOT NULL ,
    `longitude` float  NOT NULL ,
    `latitude` float  NOT NULL ,
    PRIMARY KEY (
        `ins_num`
    )
);

CREATE TABLE `type_func` (
    `int_num` smallint  NOT NULL ,
    `pub_pri_type` smallint  NOT NULL ,
    `serve_type` smallint  NOT NULL ,
    `func_name` varchar(60)  NOT NULL ,
    PRIMARY KEY (
        `int_num`
    )
);

CREATE TABLE `func_web` (
    `func_name` varchar(60)  NOT NULL ,
    `func_website` varchar(500)  NOT NULL ,
    PRIMARY KEY (
        `func_name`
    )
);

CREATE TABLE `user` (
    `user_id` int  NOT NULL ,
    `user_name` varchar(50)  NOT NULL ,
    `user_email` varchar(100)  NOT NULL ,
    `user_password` varchar(50)  NOT NULL ,
    PRIMARY KEY (
        `user_id`
    ),
    CONSTRAINT `uc_user_user_name` UNIQUE (
        `user_name`
    )
);

CREATE TABLE `user_favorite` (
    `user_id` int  NOT NULL ,
    `ins_num` smallint  NOT NULL ,
    PRIMARY KEY (
        `user_id`,`ins_num`
    )
);

CREATE TABLE `temp` (
    `pub_pri_type` varchar(20),
    `ins_name` varchar(100),
    `website` varchar(500),
    `manager` varchar(28),
    `dist` varchar(15),
    `addr` varchar(100),
    `phone0` varchar(50),
    `phone1` varchar(50),
    `serve_type0` varchar(10),
    `serve_type1` varchar(10),
    `serve_type2` varchar(10),
    `serve_type3` varchar(10),
    `Init_Date` varchar(50),
    `caring_num` smallint,
    `nurse_num` smallint,
    `dem_num` smallint,
    -- derived
    `long_caring_num` smallint,
    -- derived
    `housing_num` smallint,
    `providing_num_111` smallint,

    CONSTRAINT `uc_temp_ins_name` UNIQUE (
        `ins_name`
    )
);

ALTER TABLE `ins_capacity` ADD CONSTRAINT `fk_ins_capacity_ins_num` FOREIGN KEY(`ins_num`)
REFERENCES `institution` (`ins_num`);

ALTER TABLE `ins_info` ADD CONSTRAINT `fk_ins_info_ins_num` FOREIGN KEY(`ins_num`)
REFERENCES `institution` (`ins_num`);

ALTER TABLE `ins_address` ADD CONSTRAINT `fk_ins_address_ins_num` FOREIGN KEY(`ins_num`)
REFERENCES `institution` (`ins_num`);

ALTER TABLE `type_func` ADD CONSTRAINT `fk_type_func_int_num` FOREIGN KEY(`int_num`)
REFERENCES `institution` (`ins_num`);

ALTER TABLE `type_func` ADD CONSTRAINT `fk_type_func_func_name` FOREIGN KEY(`func_name`)
REFERENCES `func_web` (`func_name`);

ALTER TABLE `user_favorite` ADD CONSTRAINT `fk_user_favorite_user_id` FOREIGN KEY(`user_id`)
REFERENCES `user` (`user_id`);

ALTER TABLE `user_favorite` ADD CONSTRAINT `fk_user_favorite_ins_num` FOREIGN KEY(`ins_num`)
REFERENCES `institution` (`ins_num`);

LOAD DATA INFILE '/var/lib/mysql-files/final.csv' 
INTO TABLE temp
FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';

About

An elderly care map website connected to Google API and using Taiwan rlderly care facility data.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 57.3%
  • SCSS 18.0%
  • CSS 14.0%
  • JavaScript 9.0%
  • Other 1.7%