diff --git a/package.json b/package.json
index 6c050f8..47ab41c 100644
--- a/package.json
+++ b/package.json
@@ -5,6 +5,8 @@
   "dependencies": {
     "react": "^16.9.0",
     "react-dom": "^16.9.0",
+    "react-router": "^5.2.0",
+    "react-router-dom": "^5.2.0",
     "react-scripts": "3.1.1"
   },
   "scripts": {
diff --git a/src/App.js b/src/App.js
index e358583..f76f32e 100644
--- a/src/App.js
+++ b/src/App.js
@@ -1,11 +1,27 @@
-import React from 'react';
-import logo from './logo.svg';
-import './App.css';
+import React from "react";
+import "./App.css";
+import { BrowserRouter, Route, Redirect, Switch } from "react-router-dom";
+import NewTodo from "./containers/TodoList/NewTodo/NewTodo";
+import TodoList from "./containers/TodoList/TodoList";
+import TodoDetail from "./componets/TodoDetail/TodoDetail";
 
 function App() {
   return (
-    
-    
+    
+      
+        
+           }
+          />
+          
+          
+          
+           Not Found
} />
+        
+      
+    
   );
 }
 
diff --git a/src/componets/Todo/Todo.css b/src/componets/Todo/Todo.css
new file mode 100644
index 0000000..805d753
--- /dev/null
+++ b/src/componets/Todo/Todo.css
@@ -0,0 +1,32 @@
+
+.Todo {
+  border-top: 1px solid #f1f3f5;
+  padding: 1rem;
+  display: flex;
+  align-items: center; 
+  transition: all 0.15s;
+}
+
+.Todo .text {
+  flex: 1;
+  text-align: left;
+  word-break: break-all;
+  cursor: pointer;
+}
+
+.Todo .text:hover {
+  color: orange;
+}
+
+.Todo .done {
+  text-decoration: line-through;
+  color: #adb5bd;
+}
+
+.Todo .done-mark {
+  font-size: 1.5rem;
+  line-height: 1rem;
+  margin-left: 1rem;
+  color: orange;
+  font-weight: 800;
+}
diff --git a/src/componets/Todo/Todo.js b/src/componets/Todo/Todo.js
new file mode 100644
index 0000000..e41c514
--- /dev/null
+++ b/src/componets/Todo/Todo.js
@@ -0,0 +1,16 @@
+import React from "react";
+
+import "./Todo.css";
+
+const Todo = (props) => {
+  return (
+    
+      
+        {props.title}
+      
+      {props.done && 
✓
}
+    
+        
+          
Name:
+          
{this.props.title}
+        
+
+        
+          
Content:
+          
{this.props.content}
+        
+      
+        {redirect}
+        
Add a Todo
+        
+         this.setState({ title: event.target.value })}
+        />
+        
+        
+    );
+  }
+}
+export default NewTodo;
diff --git a/src/containers/TodoList/TodoList.css b/src/containers/TodoList/TodoList.css
new file mode 100644
index 0000000..bc99cb5
--- /dev/null
+++ b/src/containers/TodoList/TodoList.css
@@ -0,0 +1,16 @@
+.TodoList {
+  background: white;
+  width: 512px;
+  box-shadow: 0 3px 9px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); /* 그림자 */ 
+  margin: auto; 
+  margin-top: 4rem;
+}
+
+.TodoList .title {
+  padding: 2rem;
+  font-size: 2.5rem;
+  text-align: center;
+  font-weight: 500;
+  background: orange;
+  color: black;
+}
diff --git a/src/containers/TodoList/TodoList.js b/src/containers/TodoList/TodoList.js
new file mode 100644
index 0000000..6bd9e00
--- /dev/null
+++ b/src/containers/TodoList/TodoList.js
@@ -0,0 +1,57 @@
+import React, { Component } from "react";
+
+import Todo from "../../componets/Todo/Todo";
+import TodoDetail from "../../componets/TodoDetail/TodoDetail";
+import "./TodoList.css";
+
+import { NavLink } from "react-router-dom";
+
+class TodoList extends Component {
+  state = {
+    todos: [
+      { id: 1, title: "SWPP", content: "take swpp class", done: true },
+      { id: 2, title: "Movie", content: "watch movie", done: false },
+      { id: 3, title: "Dinner", content: "eat dinner", done: false },
+    ],
+    selectedTodo: null,
+  };
+  clickTodoHandler = (td) => {
+    if (this.state.selectedTodo === td) {
+      this.setState({ ...this.state, selectedTodo: null });
+    } else {
+      this.setState({ ...this.state, selectedTodo: td });
+    }
+  };
+  render() {
+    const todos = this.state.todos.map((td) => {
+      return (
+         this.clickTodoHandler(td)}
+        />
+      );
+    });
+    let todo = null;
+    if (this.state.selectedTodo) {
+      todo = (
+        
+      );
+    }
+    return (
+      
+        
{this.props.title}
+        
{todos}
+        {todo}
+        
+          New Todo
+        
+