Skip to content

Commit

Permalink
refreshed readme
Browse files Browse the repository at this point in the history
  • Loading branch information
NisanurBulut committed Feb 2, 2021
1 parent b0bfe09 commit e853a42
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 71 deletions.
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,9 +105,15 @@ Zeus is the god of the sky, lightning and the thunder in Ancient Greek religion
<br>
<hr>

11. <b>Myth</b> <br>
Myth is an application that introduces mythological creatures. The use of Redux pattern with Reactjs is demonstrated. Axios library was used with the help of json-server and data reading was done. React-Pagination is used.

![App-Myth](https://github.com/NisanurBulut/MythologyOfReactJs/blob/master/Trailers/Trailer_Myth.gif)
<br>
<hr>
### Helpfull Websites

[uidesigndaily](https://uidesigndaily.com/posts/sketch-birthdays-list-card-widget-day-1042)
[Devto](https://dev.to/) [popmotion](https://popmotion.io) [json-server](https://github.com/typicode/json-server)
[unsplash](https://unsplash.com/) [webgradients](https://webgradients.com/) [edamam api](https://developer.edamam.com/)
[values.js](https://github.com/noeldelgado/values.js) [covid-19 api](https://api.covid19api.com/) [api.weatherstack](http://api.weatherstack.com) [Gif resize](https://ezgif.com/resize) [ReactJs Turkish Library](https://github.com/omergulcicek/react) [ReactJs Articles](https://www.ninjakod.com/category/genel/reactjs/)
[values.js](https://github.com/noeldelgado/values.js) [covid-19 api](https://api.covid19api.com/) [api.weatherstack](http://api.weatherstack.com) [Gif resize](https://ezgif.com/resize) [ReactJs Turkish Library](https://github.com/omergulcicek/react) [ReactJs Articles](https://www.ninjakod.com/category/genel/reactjs/) [ReactJs-Redux Application](https://youtu.be/GbAENvrGbDo)
Binary file added Trailers/Trailer_Myth.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion myth/.eslintcache
Original file line number Diff line number Diff line change
@@ -1 +1 @@
[{"E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\index.js":"1","E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\reportWebVitals.js":"2","E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\App.js":"3","E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\Store.js":"4","E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\reducers\\RootReducer.js":"5","E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\containers\\MythList.js":"6","E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\reducers\\MythListReducer.js":"7","E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\actions\\MythActions.js":"8","E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\reducers\\MythItemReducer.js":"9","E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\containers\\MythItem.js":"10"},{"size":707,"mtime":1612209918114,"results":"11","hashOfConfig":"12"},{"size":362,"mtime":499162500000,"results":"13","hashOfConfig":"12"},{"size":580,"mtime":1612277474163,"results":"14","hashOfConfig":"12"},{"size":320,"mtime":1612208818035,"results":"15","hashOfConfig":"12"},{"size":276,"mtime":1612261499795,"results":"16","hashOfConfig":"12"},{"size":1894,"mtime":1612269384844,"results":"17","hashOfConfig":"12"},{"size":721,"mtime":1612269349613,"results":"18","hashOfConfig":"12"},{"size":1187,"mtime":1612269517604,"results":"19","hashOfConfig":"12"},{"size":718,"mtime":1612269652199,"results":"20","hashOfConfig":"12"},{"size":1327,"mtime":1612271931939,"results":"21","hashOfConfig":"12"},{"filePath":"22","messages":"23","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"24"},"2wok03",{"filePath":"25","messages":"26","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"24"},{"filePath":"27","messages":"28","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"29","messages":"30","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"31","usedDeprecatedRules":"24"},{"filePath":"32","messages":"33","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"24"},{"filePath":"34","messages":"35","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"36","usedDeprecatedRules":"24"},{"filePath":"37","messages":"38","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"39","messages":"40","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"41","messages":"42","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"43","messages":"44","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"45","usedDeprecatedRules":"24"},"E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\index.js",[],["46","47"],"E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\reportWebVitals.js",[],"E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\App.js",["48"],"E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\Store.js",["49"],"import { createStore, compose, applyMiddleware } from 'redux';\r\nimport { composeWithDevTools } from 'redux-devtools-extension';\r\nimport thunk from 'redux-thunk';\r\nimport RootReducer from './reducers/RootReducer';\r\nconst Store= createStore(RootReducer, composeWithDevTools(applyMiddleware(thunk)));\r\nexport default Store;","E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\reducers\\RootReducer.js",[],"E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\containers\\MythList.js",["50"],"import React, { useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport _ from 'lodash';\r\nimport { GetMythList } from '../actions/MythActions';\r\nimport { Link } from 'react-router-dom';\r\nimport ReactPaginate from \"react-paginate\";\r\n\r\nconst MythList = (props) => {\r\n const [search, setSearch]=useState(\"\");\r\n const dispatch = useDispatch();\r\n const mythList = useSelector((state) => state.MythList);\r\n\r\n React.useEffect(() => {\r\n fetchData(1);\r\n }, []);\r\n\r\n const fetchData = (page = 1) => {\r\n dispatch(GetMythList(page));\r\n };\r\n\r\n const showData = () => {\r\n console.log(mythList)\r\n if (!_.isEmpty(mythList.data)) {\r\n return (\r\n <div className=\"list-wrapper\">\r\n { mythList.data.map((item) => {\r\n return (\r\n <div key={item.name} className=\"myth-item\">\r\n <p>{item.name}</p>\r\n <Link to={`/myth/${item.name}`}>View</Link>\r\n </div>\r\n )\r\n })\r\n }\r\n </div>\r\n );\r\n }\r\n if (mythList.loading) {\r\n return <p>....Loading</p>;\r\n }\r\n if (mythList.errorMessage !== '') {\r\n return <div>{mythList.errorMessage}</div>;\r\n }\r\n return <p>unable to data</p>;\r\n };\r\n return <div>\r\n <div className=\"search-wrapper\">\r\n <input type=\"text\" onChange={(e)=>setSearch(e.target.value)}/>\r\n <button onClick={()=>props.history.push(`/myth/${search}`)}>Search</button>\r\n </div>\r\n {showData()}\r\n {\r\n\r\n !_.isEmpty(mythList.data) && (\r\n <ReactPaginate\r\n pageCount={Math.ceil(mythList.count / 5)}\r\n pageRangeDisplayed={2}\r\n marginPagesDisplayed={1}\r\n onPageChange={(data) => fetchData(data.selected + 1)}\r\n containerClassName={\"pagination\"}\r\n ></ReactPaginate>\r\n )\r\n }\r\n </div>;\r\n};\r\n\r\nexport default MythList;\r\n","E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\reducers\\MythListReducer.js",[],"E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\actions\\MythActions.js",[],"E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\reducers\\MythItemReducer.js",[],"E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\containers\\MythItem.js",["51"],"import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { GetMyth } from '../actions/MythActions';\r\nimport _ from 'lodash';\r\n\r\nconst MythItem = (props) => {\r\n const mythItemName = props.match.params.myth;\r\n const dispathch = useDispatch();\r\n const mythItemState = useSelector((state) => state.MythItem);\r\n\r\n React.useEffect(() => {\r\n dispathch(GetMyth(mythItemName));\r\n }, []);\r\n\r\n const showData = () => {\r\n if (! _.isEmpty(mythItemState.data[mythItemName])) {\r\n const mythItemData=mythItemState.data[mythItemName][0];\r\n console.log(mythItemData);\r\n return(\r\n <div className={\"myth-wrapper\"}>\r\n <div className=\"mythItemHeader\">\r\n <h1>{mythItemName}</h1>\r\n </div>\r\n <div className={\"item\"}>\r\n <img src={mythItemData.imagePath} alt=\"\"/>\r\n </div>\r\n <div className=\"item\">\r\n <p>{mythItemData.description}</p>\r\n </div>\r\n </div>\r\n )\r\n }\r\n\r\n if (mythItemState.loading) {\r\n return <p>Loading...</p>\r\n }\r\n\r\n if (mythItemState.errorMessage !== \"\") {\r\n return <p>{mythItemState.errorMessage}</p>\r\n }\r\n\r\n return <p>error getting myth item</p>\r\n };\r\n\r\n return (\r\n <div>\r\n {showData()}\r\n </div>\r\n );\r\n};\r\nexport default MythItem;\r\n",{"ruleId":"52","replacedBy":"53"},{"ruleId":"54","replacedBy":"55"},{"ruleId":"56","severity":1,"message":"57","line":1,"column":8,"nodeType":"58","messageId":"59","endLine":1,"endColumn":12},{"ruleId":"56","severity":1,"message":"60","line":1,"column":23,"nodeType":"58","messageId":"59","endLine":1,"endColumn":30},{"ruleId":"61","severity":1,"message":"62","line":15,"column":6,"nodeType":"63","endLine":15,"endColumn":8,"suggestions":"64"},{"ruleId":"61","severity":1,"message":"65","line":13,"column":6,"nodeType":"63","endLine":13,"endColumn":8,"suggestions":"66"},"no-native-reassign",["67"],"no-negated-in-lhs",["68"],"no-unused-vars","'logo' is defined but never used.","Identifier","unusedVar","'compose' is defined but never used.","react-hooks/exhaustive-deps","React Hook React.useEffect has a missing dependency: 'fetchData'. Either include it or remove the dependency array.","ArrayExpression",["69"],"React Hook React.useEffect has missing dependencies: 'dispathch' and 'mythItemName'. Either include them or remove the dependency array.",["70"],"no-global-assign","no-unsafe-negation",{"desc":"71","fix":"72"},{"desc":"73","fix":"74"},"Update the dependencies array to be: [fetchData]",{"range":"75","text":"76"},"Update the dependencies array to be: [dispathch, mythItemName]",{"range":"77","text":"78"},[490,492],"[fetchData]",[417,419],"[dispathch, mythItemName]"]
[{"E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\index.js":"1","E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\reportWebVitals.js":"2","E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\App.js":"3","E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\Store.js":"4","E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\reducers\\RootReducer.js":"5","E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\containers\\MythList.js":"6","E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\reducers\\MythListReducer.js":"7","E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\actions\\MythActions.js":"8","E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\reducers\\MythItemReducer.js":"9","E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\containers\\MythItem.js":"10"},{"size":707,"mtime":1612209918114,"results":"11","hashOfConfig":"12"},{"size":362,"mtime":499162500000,"results":"13","hashOfConfig":"12"},{"size":593,"mtime":1612277540606,"results":"14","hashOfConfig":"12"},{"size":320,"mtime":1612208818035,"results":"15","hashOfConfig":"12"},{"size":276,"mtime":1612261499795,"results":"16","hashOfConfig":"12"},{"size":1894,"mtime":1612269384844,"results":"17","hashOfConfig":"12"},{"size":721,"mtime":1612269349613,"results":"18","hashOfConfig":"12"},{"size":1187,"mtime":1612269517604,"results":"19","hashOfConfig":"12"},{"size":718,"mtime":1612269652199,"results":"20","hashOfConfig":"12"},{"size":1327,"mtime":1612271931939,"results":"21","hashOfConfig":"12"},{"filePath":"22","messages":"23","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"24"},"2wok03",{"filePath":"25","messages":"26","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"24"},{"filePath":"27","messages":"28","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"29","messages":"30","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"31","usedDeprecatedRules":"24"},{"filePath":"32","messages":"33","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"24"},{"filePath":"34","messages":"35","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"36","usedDeprecatedRules":"24"},{"filePath":"37","messages":"38","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"39","messages":"40","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"24"},{"filePath":"41","messages":"42","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"43","messages":"44","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"45","usedDeprecatedRules":"24"},"E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\index.js",[],["46","47"],"E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\reportWebVitals.js",[],"E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\App.js",["48"],"E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\Store.js",["49"],"import { createStore, compose, applyMiddleware } from 'redux';\r\nimport { composeWithDevTools } from 'redux-devtools-extension';\r\nimport thunk from 'redux-thunk';\r\nimport RootReducer from './reducers/RootReducer';\r\nconst Store= createStore(RootReducer, composeWithDevTools(applyMiddleware(thunk)));\r\nexport default Store;","E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\reducers\\RootReducer.js",[],"E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\containers\\MythList.js",["50"],"import React, { useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport _ from 'lodash';\r\nimport { GetMythList } from '../actions/MythActions';\r\nimport { Link } from 'react-router-dom';\r\nimport ReactPaginate from \"react-paginate\";\r\n\r\nconst MythList = (props) => {\r\n const [search, setSearch]=useState(\"\");\r\n const dispatch = useDispatch();\r\n const mythList = useSelector((state) => state.MythList);\r\n\r\n React.useEffect(() => {\r\n fetchData(1);\r\n }, []);\r\n\r\n const fetchData = (page = 1) => {\r\n dispatch(GetMythList(page));\r\n };\r\n\r\n const showData = () => {\r\n console.log(mythList)\r\n if (!_.isEmpty(mythList.data)) {\r\n return (\r\n <div className=\"list-wrapper\">\r\n { mythList.data.map((item) => {\r\n return (\r\n <div key={item.name} className=\"myth-item\">\r\n <p>{item.name}</p>\r\n <Link to={`/myth/${item.name}`}>View</Link>\r\n </div>\r\n )\r\n })\r\n }\r\n </div>\r\n );\r\n }\r\n if (mythList.loading) {\r\n return <p>....Loading</p>;\r\n }\r\n if (mythList.errorMessage !== '') {\r\n return <div>{mythList.errorMessage}</div>;\r\n }\r\n return <p>unable to data</p>;\r\n };\r\n return <div>\r\n <div className=\"search-wrapper\">\r\n <input type=\"text\" onChange={(e)=>setSearch(e.target.value)}/>\r\n <button onClick={()=>props.history.push(`/myth/${search}`)}>Search</button>\r\n </div>\r\n {showData()}\r\n {\r\n\r\n !_.isEmpty(mythList.data) && (\r\n <ReactPaginate\r\n pageCount={Math.ceil(mythList.count / 5)}\r\n pageRangeDisplayed={2}\r\n marginPagesDisplayed={1}\r\n onPageChange={(data) => fetchData(data.selected + 1)}\r\n containerClassName={\"pagination\"}\r\n ></ReactPaginate>\r\n )\r\n }\r\n </div>;\r\n};\r\n\r\nexport default MythList;\r\n","E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\reducers\\MythListReducer.js",[],"E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\actions\\MythActions.js",[],"E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\reducers\\MythItemReducer.js",[],"E:\\Projelerim\\MythologyOfReactJs\\myth\\src\\containers\\MythItem.js",["51"],"import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { GetMyth } from '../actions/MythActions';\r\nimport _ from 'lodash';\r\n\r\nconst MythItem = (props) => {\r\n const mythItemName = props.match.params.myth;\r\n const dispathch = useDispatch();\r\n const mythItemState = useSelector((state) => state.MythItem);\r\n\r\n React.useEffect(() => {\r\n dispathch(GetMyth(mythItemName));\r\n }, []);\r\n\r\n const showData = () => {\r\n if (! _.isEmpty(mythItemState.data[mythItemName])) {\r\n const mythItemData=mythItemState.data[mythItemName][0];\r\n console.log(mythItemData);\r\n return(\r\n <div className={\"myth-wrapper\"}>\r\n <div className=\"mythItemHeader\">\r\n <h1>{mythItemName}</h1>\r\n </div>\r\n <div className={\"item\"}>\r\n <img src={mythItemData.imagePath} alt=\"\"/>\r\n </div>\r\n <div className=\"item\">\r\n <p>{mythItemData.description}</p>\r\n </div>\r\n </div>\r\n )\r\n }\r\n\r\n if (mythItemState.loading) {\r\n return <p>Loading...</p>\r\n }\r\n\r\n if (mythItemState.errorMessage !== \"\") {\r\n return <p>{mythItemState.errorMessage}</p>\r\n }\r\n\r\n return <p>error getting myth item</p>\r\n };\r\n\r\n return (\r\n <div>\r\n {showData()}\r\n </div>\r\n );\r\n};\r\nexport default MythItem;\r\n",{"ruleId":"52","replacedBy":"53"},{"ruleId":"54","replacedBy":"55"},{"ruleId":"56","severity":1,"message":"57","line":1,"column":8,"nodeType":"58","messageId":"59","endLine":1,"endColumn":12},{"ruleId":"56","severity":1,"message":"60","line":1,"column":23,"nodeType":"58","messageId":"59","endLine":1,"endColumn":30},{"ruleId":"61","severity":1,"message":"62","line":15,"column":6,"nodeType":"63","endLine":15,"endColumn":8,"suggestions":"64"},{"ruleId":"61","severity":1,"message":"65","line":13,"column":6,"nodeType":"63","endLine":13,"endColumn":8,"suggestions":"66"},"no-native-reassign",["67"],"no-negated-in-lhs",["68"],"no-unused-vars","'logo' is defined but never used.","Identifier","unusedVar","'compose' is defined but never used.","react-hooks/exhaustive-deps","React Hook React.useEffect has a missing dependency: 'fetchData'. Either include it or remove the dependency array.","ArrayExpression",["69"],"React Hook React.useEffect has missing dependencies: 'dispathch' and 'mythItemName'. Either include them or remove the dependency array.",["70"],"no-global-assign","no-unsafe-negation",{"desc":"71","fix":"72"},{"desc":"73","fix":"74"},"Update the dependencies array to be: [fetchData]",{"range":"75","text":"76"},"Update the dependencies array to be: [dispathch, mythItemName]",{"range":"77","text":"78"},[490,492],"[fetchData]",[417,419],"[dispathch, mythItemName]"]
Loading

0 comments on commit e853a42

Please sign in to comment.