###### tags: `企劃` # 網站地圖 ## Web <table> <thead> <tr> <th>區塊</th> <th>路由</th> <th>說明</th> </tr> </thead> <tbody> <tr> <td>形象首頁</td> <td>/</td> <td> 介紹 Amigo 的設計理念與運作方式 <ul> <li>好玩ㄉ分享給你!</li> </ul> </td> </tr> <tr> <td rowspan="4">地圖</td> <td>/maps</td> <td> 讓所有人探索附近的地點 <ul> <li>滑鼠點選地圖上的地點時,側邊欄會彈出並顯示該地點的活動資訊</li> </ul> </td> </tr> <tr> <td>/maps/{hash_id}</td> <td> 讀取個人地圖 <ul> <li>會有一個「編輯」按鈕,否則只能瀏覽</li> <li>可能需要評估做 hash_id 的必要性</li> </ul> </td> </tr> <tr> <td>/maps/create</td> <td> 個人地圖新增頁面 <ul> <li>右邊應該會有側邊欄顯示所有附近的地點,每張地點的卡片上會有一個「把此地點放入地圖中」的按鈕</li> <li>地圖上方應該會有搜尋框,並且以 Query String 的方式與後端溝通</li> </ul> </td> </tr> <tr> <td>/maps/{hash_id}/edit</td> <td>個人地圖編輯頁面</td> </tr> <!-- Attractions --> <tr> <td rowspan="4">有趣的地點</td> <td>/attractions</td> <td> 地點清單 <ul> <li>此頁面不一定要存在,也許可以改為只開 API</li> <li>可能需要評估做 hash_id 的必要性</li> </ul> </td> </tr> <tr> <td>/attractions/{id}</td> <td> 讀取該地點的詳細資料 <ul> <li>應該會包含所有關於該地點的資訊,像是活動名稱、交通方式等等</li> </ul> </td> </tr> <tr> <td>/attractions/create</td> <td> 活動新增頁面 <ul> <li>一定要登入</li> <li>關於此頁面表單的欄位,可能需要多一兩項方式驗證其活動的真實性</li> </ul> </td> </tr> <tr> <td>/attractions/{id}/edit</td> <td> 地點編輯頁面 <ul> <li>只能讓管理員及上傳者編輯</li> </ul> </td> </tr> </tbody> </table> <!-- --> ## API <table> <thead> <tr> <th rowspan="2">區塊</th> <th colspan="2">路由</th> <th rowspan="2">用途</th> <th rowspan="2">備註</th> </tr> <tr> <th>動詞</th> <th>URI</th> </tr> </thead> <tbody> <tr> <td>POST</td> <td>/maps/store</td> <td>儲存個人地圖</td> </tr> <tr> <td>PUT</td> <td>/maps/{hash_id}</td> <td>更新個人地圖</td> </tr> <tr> <td>DELETE</td> <td>/maps/{hash_id}</td> <td>移除個人地圖</td> </tr> <!-- Attractions --> <tr> <td rowspan="10">有趣的地點</td> <td>GET</td> <td>/attractions</td> <td> 地點清單 <ul> <li>此頁面不一定要存在,也許可以改為只開 API</li> </ul> </td> <td>不登入也可瀏覽</td> </tr> <tr> <td>GET</td> <td>/attractions/{id}</td> <td> 讀取該地點的詳細資料 <ul> <li>應該會包含所有關於該地點的資訊,像是活動名稱、交通方式等等</li> </ul> </td> <td rowspan="6">需要登入才能使用</td> </tr> <tr> <td>POST</td> <td>/attractions/store</td> <td> 儲存地點 <ul> <li>也許需要審核系統?</li> </ul> </td> </tr> <tr> <td>GET</td> <td>/attractions/{id}/edit</td> <td> 地點編輯頁面 <ul> <li>只能讓管理員及上傳者編輯</li> </ul> </td> </tr> <tr> <td>PUT</td> <td>/attracations/{hash_id}</td> <td> 地點編輯頁面 <ul> <li>只能讓管理員及上傳者編輯</li> </ul> </td> </tr> <tr> <td>DELETE</td> <td>/maps/{hash_id}</td> <td>移除個人地圖</td> </tr> </tbody> </table>