---
# System prepended metadata

title: 網站地圖
tags: [企劃]

---

###### 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>