diff --git a/DataBase/mongoDB.py b/DataBase/mongoDB.py
index ec6788061dc1726be9c7a6009d7c8a1f5e7f3b88..1072256e8e01d6fed2f7194bcafa4c1ce3901ebf 100644
--- a/DataBase/mongoDB.py
+++ b/DataBase/mongoDB.py
@@ -64,6 +64,7 @@ def update_dicts(opt, identifier, content):
     else:
         print("failed to get json file: wrong opt for selecting collection")
         return
+    print(content)
     result = records.update_one(
         identifier,
         {"$set": content},
diff --git a/ManualTest.md b/ManualTest.md
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..09210901062ab45ded4089b89dc8b8c17ebb3daf 100644
--- a/ManualTest.md
+++ b/ManualTest.md
@@ -0,0 +1,194 @@
+# GoodRead Crawler Manual Test
+
+This is a manual test plan for cs242-sp21 assignment1: UNO game.
+
+## System Requirements
+
+
+#### OS:
+The following OS are appropriate system for running the UNO application and testing.
+- Windows 7 or above
+- Mac OS X
+- Linux
+
+#### Testing Prerequisites
+Softwares/applications are required for running the test.
+
+- Python 3
+- Javascript
+- React JS
+
+
+## Scenes for Testing
+![1](./ManualTestPictures/1(1).png)
+
+## 1.GET function
+
+#### Test1.1
+- test content: 
+    Test GET exist book data 
+- expect result: 
+    Successfully get book data and showing in table 
+![2](./ManualTestPictures/1(5).png)
+
+#### Test1.2
+- test content: 
+     Test GET exist author data 
+- expect result: 
+    Successfully get author data and showing in table
+![3](./ManualTestPictures/1(4).png)
+
+#### Test1.3
+- test content: 
+     Test GET unexist book data 
+- expect result: 
+     Request failed
+![4](./ManualTestPictures/1(2).png)
+
+#### Test1.4
+- test content: 
+     Test GET unexist author data 
+- expect result: 
+     Request failed
+![5](./ManualTestPictures/1(3).png)
+
+#### Test1.5
+- test content: 
+     Test search exist book data with id
+- expect result: 
+     Successfully find the data and print in table
+![6](./ManualTestPictures/1(6).png)
+
+#### Test1.6
+- test content: 
+     Test search exist book data with flexible search condition
+- expect result: 
+     Successfully find the data and showing in table
+![7](./ManualTestPictures/1(7).png)
+
+#### Test1.7
+- test content: 
+     Test search unexist book data 
+- expect result: 
+     Request failed
+![8](./ManualTestPictures/1(8).png)
+
+#### Test1.8
+- test content: 
+     Test using scrape in GET command
+- expect result: 
+     Request failed
+![9](./ManualTestPictures/1(24).png)
+
+## 2.PUT function
+
+#### Test2.1
+- test content: 
+     Test PUT update data for exist book documentation
+- expect result: 
+     No new document is created, existing document updated
+![10](./ManualTestPictures/1(9).png)
+![11](./ManualTestPictures/1(10).png)
+![12](./ManualTestPictures/1(12).png)
+
+#### Test2.2
+- test content: 
+     Test PUT new book documentation
+- expect result: 
+     A new book document is created
+![13](./ManualTestPictures/1(13).png)
+![14](./ManualTestPictures/1(15).png)
+
+#### Test2.3
+- test content: 
+     Test PUT update data for exist author documentation
+- expect result: 
+     No new document is created, existing document updated
+![15](./ManualTestPictures/1(16).png)
+![16](./ManualTestPictures/1(17).png)
+![17](./ManualTestPictures/1(19).png)
+
+#### Test2.4
+- test content: 
+     Test PUT new author documentation
+- expect result: 
+     A new author document is created
+![18](./ManualTestPictures/1(20).png)
+![19](./ManualTestPictures/1(22).png)
+
+
+## 3.POST function
+
+#### Test3.1
+- test content: 
+     Test POST book data
+- expect result: 
+     Successfully post new book documtent
+![20](./ManualTestPictures/1(26).png)
+![21](./ManualTestPictures/1(28).png)
+
+
+#### Test3.2
+- test content: 
+     Test POST author data
+- expect result: 
+    Successfully post new author documtent
+![22](./ManualTestPictures/1(29).png)
+![23](./ManualTestPictures/1(30).png)
+
+#### Test3.3
+- test content: 
+      Test Scrape data
+- expect result: 
+     New book and author data is added into collections
+![24](./ManualTestPictures/1(23).png)
+![25](./ManualTestPictures/1(25).png)
+
+#### Test3.4
+- test content: 
+      Test the input form of book-type doc can be closed by click 'back' button and another form of author-type can be opened
+- expect result: 
+     Successfully changed the form
+![26](./ManualTestPictures/1(29).png)
+![27](./ManualTestPictures/1(31).png)
+
+## 4.DELETE function
+
+#### Test4.1
+- test content: 
+    Test DELETE book data by id
+- expect result: 
+    Successfully delete the book data
+![28](./ManualTestPictures/1(34).png)
+     
+#### Test4.2
+- test content: 
+    Test DELETE author data by name
+- expect result: 
+    Successfully delete the author data
+![29](./ManualTestPictures/1(37).png)
+
+#### Test4.3
+- test content: 
+    Test DELETE unexist data
+- expect result: 
+    Request failed
+![30](./ManualTestPictures/1(38).png)
+
+## 5.Responsive UI Test
+
+#### Test5.1
+- test content: 
+    Test main page can fit mobile device
+- expect result: 
+    All elements can be fitted in screen of mobile-device size
+![31](./ManualTestPictures/1(40).png)
+
+#### Test5.2
+- test content: 
+    Test data table can scroll
+- expect result: 
+    Data table can be scroll to right and left when the screen's size is not large enough
+![32](./ManualTestPictures/1(41).png)
+![33](./ManualTestPictures/1(42).png)
+![34](./ManualTestPictures/1(43).png)
diff --git a/ManualTestPictures/1 (1).png b/ManualTestPictures/1 (1).png
new file mode 100644
index 0000000000000000000000000000000000000000..bb437397c142ee4232d32d5026c6f3cbf5888883
Binary files /dev/null and b/ManualTestPictures/1 (1).png differ
diff --git a/ManualTestPictures/1 (10).png b/ManualTestPictures/1 (10).png
new file mode 100644
index 0000000000000000000000000000000000000000..7f601e45013cb14660c7e375a3ac3eb9142bd6d8
Binary files /dev/null and b/ManualTestPictures/1 (10).png differ
diff --git a/ManualTestPictures/1 (11).png b/ManualTestPictures/1 (11).png
new file mode 100644
index 0000000000000000000000000000000000000000..4c6a9f0907ced79d183ad8ebd9ce812cf3e52eb7
Binary files /dev/null and b/ManualTestPictures/1 (11).png differ
diff --git a/ManualTestPictures/1 (12).png b/ManualTestPictures/1 (12).png
new file mode 100644
index 0000000000000000000000000000000000000000..893c8d7272f037899890293826e60a41db7dde28
Binary files /dev/null and b/ManualTestPictures/1 (12).png differ
diff --git a/ManualTestPictures/1 (13).png b/ManualTestPictures/1 (13).png
new file mode 100644
index 0000000000000000000000000000000000000000..19d06b7b94e853ce18d13dad7e45fb10cd5ebdd8
Binary files /dev/null and b/ManualTestPictures/1 (13).png differ
diff --git a/ManualTestPictures/1 (14).png b/ManualTestPictures/1 (14).png
new file mode 100644
index 0000000000000000000000000000000000000000..097f76faa00adf8d52dbaf2705a56d96858a9a02
Binary files /dev/null and b/ManualTestPictures/1 (14).png differ
diff --git a/ManualTestPictures/1 (15).png b/ManualTestPictures/1 (15).png
new file mode 100644
index 0000000000000000000000000000000000000000..d72f119d0e141018f678922e1d8ede3063380706
Binary files /dev/null and b/ManualTestPictures/1 (15).png differ
diff --git a/ManualTestPictures/1 (16).png b/ManualTestPictures/1 (16).png
new file mode 100644
index 0000000000000000000000000000000000000000..574b028828c023fa85d82525fa1f4dba6b95c41a
Binary files /dev/null and b/ManualTestPictures/1 (16).png differ
diff --git a/ManualTestPictures/1 (17).png b/ManualTestPictures/1 (17).png
new file mode 100644
index 0000000000000000000000000000000000000000..a2abcd90a2b9e83d3210cf3ceb8c24cbdd429b45
Binary files /dev/null and b/ManualTestPictures/1 (17).png differ
diff --git a/ManualTestPictures/1 (18).png b/ManualTestPictures/1 (18).png
new file mode 100644
index 0000000000000000000000000000000000000000..eb5050e53bb5d9955d7691435fbfbbfe91da5d8d
Binary files /dev/null and b/ManualTestPictures/1 (18).png differ
diff --git a/ManualTestPictures/1 (19).png b/ManualTestPictures/1 (19).png
new file mode 100644
index 0000000000000000000000000000000000000000..e7292195a4b80ab5976fea51ee03aaeb41b652de
Binary files /dev/null and b/ManualTestPictures/1 (19).png differ
diff --git a/ManualTestPictures/1 (2).png b/ManualTestPictures/1 (2).png
new file mode 100644
index 0000000000000000000000000000000000000000..9e5fb84266b77a39f1c7f2e4f0661645ed37afda
Binary files /dev/null and b/ManualTestPictures/1 (2).png differ
diff --git a/ManualTestPictures/1 (20).png b/ManualTestPictures/1 (20).png
new file mode 100644
index 0000000000000000000000000000000000000000..419607853c30236feaae1967fa88b1603637f3db
Binary files /dev/null and b/ManualTestPictures/1 (20).png differ
diff --git a/ManualTestPictures/1 (21).png b/ManualTestPictures/1 (21).png
new file mode 100644
index 0000000000000000000000000000000000000000..41ee7ea4168d90b873daccd1244317f9bbed33ef
Binary files /dev/null and b/ManualTestPictures/1 (21).png differ
diff --git a/ManualTestPictures/1 (22).png b/ManualTestPictures/1 (22).png
new file mode 100644
index 0000000000000000000000000000000000000000..c6f6c4a09669d06a0f806fd4e9523f9ca027a8d5
Binary files /dev/null and b/ManualTestPictures/1 (22).png differ
diff --git a/ManualTestPictures/1 (23).png b/ManualTestPictures/1 (23).png
new file mode 100644
index 0000000000000000000000000000000000000000..488a1dbca0b5be3eea3f4ccb176f4ed15a4fbd39
Binary files /dev/null and b/ManualTestPictures/1 (23).png differ
diff --git a/ManualTestPictures/1 (24).png b/ManualTestPictures/1 (24).png
new file mode 100644
index 0000000000000000000000000000000000000000..f3637fb440cbef3b0d24d4e12607e99c1ca4a46a
Binary files /dev/null and b/ManualTestPictures/1 (24).png differ
diff --git a/ManualTestPictures/1 (25).png b/ManualTestPictures/1 (25).png
new file mode 100644
index 0000000000000000000000000000000000000000..3ce602746194e20f7b4a55e07a945067c0ab3dab
Binary files /dev/null and b/ManualTestPictures/1 (25).png differ
diff --git a/ManualTestPictures/1 (26).png b/ManualTestPictures/1 (26).png
new file mode 100644
index 0000000000000000000000000000000000000000..49d7ae60bc1eed4b8a3da127ea6cdbf70d8cd884
Binary files /dev/null and b/ManualTestPictures/1 (26).png differ
diff --git a/ManualTestPictures/1 (27).png b/ManualTestPictures/1 (27).png
new file mode 100644
index 0000000000000000000000000000000000000000..ce54d5fdc51b64b6ff921d09364282446f562ed3
Binary files /dev/null and b/ManualTestPictures/1 (27).png differ
diff --git a/ManualTestPictures/1 (28).png b/ManualTestPictures/1 (28).png
new file mode 100644
index 0000000000000000000000000000000000000000..b73b9f1dee6ce1558db4ac4dbf2532a6929abddf
Binary files /dev/null and b/ManualTestPictures/1 (28).png differ
diff --git a/ManualTestPictures/1 (29).png b/ManualTestPictures/1 (29).png
new file mode 100644
index 0000000000000000000000000000000000000000..7aef2893769482716c76b20a6cbb5e930928c8ad
Binary files /dev/null and b/ManualTestPictures/1 (29).png differ
diff --git a/ManualTestPictures/1 (3).png b/ManualTestPictures/1 (3).png
new file mode 100644
index 0000000000000000000000000000000000000000..e3b768c83fae0ec686e7cd12a9a56fa6652967b6
Binary files /dev/null and b/ManualTestPictures/1 (3).png differ
diff --git a/ManualTestPictures/1 (30).png b/ManualTestPictures/1 (30).png
new file mode 100644
index 0000000000000000000000000000000000000000..5c382a26d3d031a1379196ef63a7292822b55f7c
Binary files /dev/null and b/ManualTestPictures/1 (30).png differ
diff --git a/ManualTestPictures/1 (31).png b/ManualTestPictures/1 (31).png
new file mode 100644
index 0000000000000000000000000000000000000000..eea95251b868948ccddd0a3ae25fabbd56f0d47c
Binary files /dev/null and b/ManualTestPictures/1 (31).png differ
diff --git a/ManualTestPictures/1 (32).png b/ManualTestPictures/1 (32).png
new file mode 100644
index 0000000000000000000000000000000000000000..e66d2d2573b6498276cf0727c9cb28891c7e1c40
Binary files /dev/null and b/ManualTestPictures/1 (32).png differ
diff --git a/ManualTestPictures/1 (33).png b/ManualTestPictures/1 (33).png
new file mode 100644
index 0000000000000000000000000000000000000000..7e90af77068ae10d0e15d360387d0dec4ef6ef72
Binary files /dev/null and b/ManualTestPictures/1 (33).png differ
diff --git a/ManualTestPictures/1 (34).png b/ManualTestPictures/1 (34).png
new file mode 100644
index 0000000000000000000000000000000000000000..060c442c3c9255f4d255444c54c69131d3df59e3
Binary files /dev/null and b/ManualTestPictures/1 (34).png differ
diff --git a/ManualTestPictures/1 (35).png b/ManualTestPictures/1 (35).png
new file mode 100644
index 0000000000000000000000000000000000000000..630e4d96bdb97833e638e4b3ae9df2f3d41cce32
Binary files /dev/null and b/ManualTestPictures/1 (35).png differ
diff --git a/ManualTestPictures/1 (36).png b/ManualTestPictures/1 (36).png
new file mode 100644
index 0000000000000000000000000000000000000000..ac972262e918c5b0263d3d2dd21e452db18ec0e1
Binary files /dev/null and b/ManualTestPictures/1 (36).png differ
diff --git a/ManualTestPictures/1 (37).png b/ManualTestPictures/1 (37).png
new file mode 100644
index 0000000000000000000000000000000000000000..8364184f3e5a6db598602f6e5fd8bd8c4e98845b
Binary files /dev/null and b/ManualTestPictures/1 (37).png differ
diff --git a/ManualTestPictures/1 (38).png b/ManualTestPictures/1 (38).png
new file mode 100644
index 0000000000000000000000000000000000000000..494bf6af8f566350b24729a5998f4f8c20a5c8ff
Binary files /dev/null and b/ManualTestPictures/1 (38).png differ
diff --git a/ManualTestPictures/1 (39).png b/ManualTestPictures/1 (39).png
new file mode 100644
index 0000000000000000000000000000000000000000..67ec08f55f3fac0517964f1e9f89581d1567eda6
Binary files /dev/null and b/ManualTestPictures/1 (39).png differ
diff --git a/ManualTestPictures/1 (4).png b/ManualTestPictures/1 (4).png
new file mode 100644
index 0000000000000000000000000000000000000000..c8ec3d1fe121f7618030d2fab73cc7dd7be92a52
Binary files /dev/null and b/ManualTestPictures/1 (4).png differ
diff --git a/ManualTestPictures/1 (40).png b/ManualTestPictures/1 (40).png
new file mode 100644
index 0000000000000000000000000000000000000000..af02e1706318ac567fcaa791ff2444e56d4981aa
Binary files /dev/null and b/ManualTestPictures/1 (40).png differ
diff --git a/ManualTestPictures/1 (41).png b/ManualTestPictures/1 (41).png
new file mode 100644
index 0000000000000000000000000000000000000000..0a94119d042088916124856d16130246f99d9353
Binary files /dev/null and b/ManualTestPictures/1 (41).png differ
diff --git a/ManualTestPictures/1 (42).png b/ManualTestPictures/1 (42).png
new file mode 100644
index 0000000000000000000000000000000000000000..422f04cc1b1912d2c3b3351f1d0bacd880d7224a
Binary files /dev/null and b/ManualTestPictures/1 (42).png differ
diff --git a/ManualTestPictures/1 (43).png b/ManualTestPictures/1 (43).png
new file mode 100644
index 0000000000000000000000000000000000000000..5e4cc792f4cbbdba448482f753f4f5c6fbdde3f9
Binary files /dev/null and b/ManualTestPictures/1 (43).png differ
diff --git a/ManualTestPictures/1 (5).png b/ManualTestPictures/1 (5).png
new file mode 100644
index 0000000000000000000000000000000000000000..6eee82818c0b0e66bba706f0753c7448406db87f
Binary files /dev/null and b/ManualTestPictures/1 (5).png differ
diff --git a/ManualTestPictures/1 (6).png b/ManualTestPictures/1 (6).png
new file mode 100644
index 0000000000000000000000000000000000000000..da05b568cbc3e62e77ad16751efdb8350e05cc5d
Binary files /dev/null and b/ManualTestPictures/1 (6).png differ
diff --git a/ManualTestPictures/1 (7).png b/ManualTestPictures/1 (7).png
new file mode 100644
index 0000000000000000000000000000000000000000..39a8c55f2ea4ad98bfa080610253e1d037a89a84
Binary files /dev/null and b/ManualTestPictures/1 (7).png differ
diff --git a/ManualTestPictures/1 (8).png b/ManualTestPictures/1 (8).png
new file mode 100644
index 0000000000000000000000000000000000000000..4e2021cc24ce9a54751302cb26c2e6edbcf67fe5
Binary files /dev/null and b/ManualTestPictures/1 (8).png differ
diff --git a/ManualTestPictures/1 (9).png b/ManualTestPictures/1 (9).png
new file mode 100644
index 0000000000000000000000000000000000000000..f61bc9ce59d139f225148865f7a8d4624a159e27
Binary files /dev/null and b/ManualTestPictures/1 (9).png differ
diff --git a/Server/SimpleServer.py b/Server/SimpleServer.py
index fa38ae707e4d9dd828aca7b1fc42d0eaf201cb0d..cad125171c8213f5c9e924aae7ca5d7db88999f6 100644
--- a/Server/SimpleServer.py
+++ b/Server/SimpleServer.py
@@ -36,7 +36,9 @@ def data_base_book():
         print(request)
         json_update_info = request.json
         print(request)
+        print("========================")
         print(json_update_info)
+        print("========================")
         print(request.args.to_dict())
         opt = 0
         DataBase.update_dicts(opt, request.args.to_dict(), json_update_info)
diff --git a/web/app/src/App.js b/web/app/src/App.js
index 2ef831ad55e3a6cd0edbcb1796e04ea24dda866a..4b71285ad48c41eaf17dc44871871e625b81f07f 100644
--- a/web/app/src/App.js
+++ b/web/app/src/App.js
@@ -126,7 +126,7 @@ function App() {
         setRenderState(false)
         hideForm()
         var data;
-        if (queryStr === 'book') {
+        if (queryStr.includes('book')) {
             data = createJson()
         } else {
             data = createJsonAuthor()
@@ -136,7 +136,7 @@ function App() {
                 'Content-Type': 'application/json',
             }
         }
-        axios.put('http://127.0.0.1:5000/api/' + queryStr, JSON.stringify(data), config)
+        axios.put('http://127.0.0.1:5000/api/' + queryStr, data, config)
         .then(function (response) {
             // handle success
             setSign(CorrectSign)
@@ -159,7 +159,7 @@ function App() {
         }          
         hideForm()
         var data;
-        if (queryStr === 'book') {
+        if (queryStr.includes('book')) {
             data = createJson()
         } else {
             data = createJsonAuthor()