diff --git a/Dockerfile b/Dockerfile index c4d4a2b0a..ad68a37fd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:14-alpine +FROM node:16-alpine WORKDIR /app # Install app dependencies COPY package*.json ./ diff --git a/backend/routes/Schemas/db.js b/backend/routes/Schemas/db.js index 9bb5cc8c6..035ed7f6f 100644 --- a/backend/routes/Schemas/db.js +++ b/backend/routes/Schemas/db.js @@ -9,7 +9,7 @@ if (process.env.MONGO_URI) { } else { console.log('using sample DBurl, contact project manager to get real DBurl') DB_URL = - 'mongodb+srv://ntueeplus:ntueeplus2020@cluster0.fctiy.mongodb.net/heroku_kbtrwz4h?retryWrites=true&w=majority' + 'mongodb+srv://ntueeplus:iloveeeplus@cluster0.fctiy.mongodb.net/heroku_kbtrwz4h?retryWrites=true&w=majority' } console.log('mongoose connecting to:', DB_URL) diff --git a/client/src/_navIn.js b/client/src/_navIn.js index b62d15f24..0a827c5c3 100644 --- a/client/src/_navIn.js +++ b/client/src/_navIn.js @@ -42,6 +42,13 @@ const _navIn = [ to: '/abroad_session/search', icon: , }, + { + _component: 'CNavItem', + as: NavLink, + anchor: 'MATERIAL', + to: '/material', + icon: , + }, /* { _component: 'CNavItem', as: NavLink, diff --git a/client/src/assets/icons/index.js b/client/src/assets/icons/index.js index b3216bef6..ef9775e76 100644 --- a/client/src/assets/icons/index.js +++ b/client/src/assets/icons/index.js @@ -51,6 +51,8 @@ import { cilBuilding, cilCalculator, cilCalendar, + cilCaretBottom, + cilCaretRight, cilCloudDownload, cilChartPie, cilCheck, @@ -165,6 +167,8 @@ export const icons = Object.assign( cilBuilding, cilCalculator, cilCalendar, + cilCaretBottom, + cilCaretRight, cilCloudDownload, cilChartPie, cilCheck, diff --git a/client/src/layout/DefaultLayout.js b/client/src/layout/DefaultLayout.js index 80a407779..48737c320 100644 --- a/client/src/layout/DefaultLayout.js +++ b/client/src/layout/DefaultLayout.js @@ -15,7 +15,7 @@ const DefaultLayout = () => { }, [isLogin]) return ( <> - setIsModal(false)} alignment="center"> + {/* setIsModal(false)} alignment="center"> setIsModal(false)}> 注意! @@ -40,7 +40,7 @@ const DefaultLayout = () => { 我是新註冊的帳號! - + */}
diff --git a/client/src/routes.js b/client/src/routes.js index 41b086699..4f95c1fae 100644 --- a/client/src/routes.js +++ b/client/src/routes.js @@ -31,6 +31,7 @@ import { ChangePsw, Dashboard, AbroadSession, + Material, } from './views/in' // auth pages import { @@ -140,6 +141,12 @@ const routes_in = [ name: 'AbroadSession', component: AbroadSession, }, + { + path: '/material', + exact: true, + name: 'Material', + component: Material, + }, ] const routes_auth = [ { diff --git a/client/src/views/in/index.js b/client/src/views/in/index.js index 60d03f62f..990dd140f 100644 --- a/client/src/views/in/index.js +++ b/client/src/views/in/index.js @@ -28,6 +28,7 @@ const Dashboard = React.lazy(() => import('./dashboard')) const AbroadSession = React.lazy(() => import('./abroadSession')) +const Material = React.lazy(() => import('./material')) export { ColumnSummary, Column, @@ -49,4 +50,5 @@ export { ChangePsw, Dashboard, AbroadSession, + Material, } diff --git a/client/src/views/in/material/Medium.js b/client/src/views/in/material/Medium.js new file mode 100644 index 000000000..d3781ea81 --- /dev/null +++ b/client/src/views/in/material/Medium.js @@ -0,0 +1,199 @@ +import React, { useState } from 'react' +import { CCollapse } from '@coreui/react' +import CIcon from '@coreui/icons-react' + +// B03 +// 許秉鈞 2019 Fall CS M.S. 經驗分享(上篇:經驗傳承), 2019 Fall CS M.S. 經驗分享(下篇:顛覆印象) +// 許凱傑 EE Ph.D. Application https://medium.com/phd-in-america/introduction-b80879fe10e6 +// 卓伯鴻 M.S. ECE/CS Applications https://jaycho2007.medium.com/m-s-ece-cs-applications-776098fca74e, 2021 SWE New Grad 找工雜談 https://jaycho2007.medium.com/2021-swe-new-grad-%E6%89%BE%E5%B7%A5%E9%9B%9C%E8%AB%87-816ce8b93677 +// 楊其昇 北美硬體 VLSI 找實習/正職心得 https://chisheny.medium.com/%E5%8C%97%E7%BE%8E%E7%A1%AC%E9%AB%94-vlsi-%E6%89%BE%E5%AF%A6%E7%BF%92-%E6%AD%A3%E8%81%B7%E5%BF%83%E5%BE%97-1960e0d2ed7a, UM ECE MS 兩年修課心得 https://chisheny.medium.com/um-ece-ms-%E5%85%A9%E5%B9%B4%E4%BF%AE%E8%AA%B2%E5%BF%83%E5%BE%97-f3e6e61a9a42 +// 孫凡耕 申請美國EE/CS PhD經驗分享(1)-總結、感想 https://medium.com/@sunfankeng/%E7%94%B3%E8%AB%8B%E7%BE%8E%E5%9C%8Bee-cs-phd%E7%B6%93%E9%A9%97%E5%88%86%E4%BA%AB-%E7%B8%BD%E7%B5%90-%E6%84%9F%E6%83%B3-%E6%84%9F%E8%AC%9D-959b8eccc3f0 +// 張博智 走點彎路的碩士申請(一):背景、動機 https://primesnow.medium.com/%E8%B5%B0%E9%BB%9E%E5%BD%8E%E8%B7%AF%E7%9A%84%E7%A2%A9%E5%A3%AB%E7%94%B3%E8%AB%8B-%E4%B8%80-%E8%83%8C%E6%99%AF-%E5%8B%95%E6%A9%9F-2260c537b520 + +// B04 +// 莫絲羽 CMU Robotics MS 申請美國機器人相關碩士經驗分享 https://medium.com/momo%E7%9A%84%E6%A9%9F%E5%99%A8%E4%BA%BA%E7%95%99%E5%AD%B8%E5%A4%A2/%E7%94%B3%E8%AB%8B%E7%BE%8E%E5%9C%8B%E6%A9%9F%E5%99%A8%E4%BA%BA%E7%9B%B8%E9%97%9C%E7%A2%A9%E5%A3%AB%E5%BF%83%E5%BE%97%E5%88%86%E4%BA%AB-d85a519b1974 +// 吳倉永 2020 Fall 申請美國硬體 MS/MEng https://tywu13.medium.com/2020-fall-%E7%94%B3%E8%AB%8B%E7%BE%8E%E5%9C%8B%E7%A1%AC%E9%AB%94-ms-meng-4fee92a73bec, 2020 COVID19 北美找工作心得分享 https://tywu13.medium.com/2020-covid19-%E5%8C%97%E7%BE%8E%E6%89%BE%E5%B7%A5%E4%BD%9C%E5%BF%83%E5%BE%97%E5%88%86%E4%BA%AB-685731a4cda, 美國硬體工程師必勝面經 https://tywu13.medium.com/%E7%BE%8E%E5%9C%8B%E7%A1%AC%E9%AB%94%E5%B7%A5%E7%A8%8B%E5%B8%AB%E5%BF%85%E5%8B%9D%E9%9D%A2%E7%B6%93-c1a7423a9498 + +// B05 +// 許秉倫 Open Source 開源社群的第一門課 | 如何成為 Apache Committer https://byronhsu1230.medium.com/open-source-%E9%96%8B%E6%BA%90%E7%A4%BE%E7%BE%A4%E7%9A%84%E7%AC%AC%E4%B8%80%E9%96%80%E8%AA%B2-%E5%A6%82%E4%BD%95%E6%88%90%E7%82%BA-apache-committer-451d42e853d6 + +// B06 +// MikeWang 2022 Fall US CS Master 申請心得 https://medium.com/@mike_tcwang/2022-fall-us-cs-master-%E7%94%B3%E8%AB%8B%E5%BF%83%E5%BE%97-b0f9ccb23196?mibextid=Zxz2cZ + +const Medium = () => { + const mediums = { + B03: [ + { + name: '許秉鈞', + materials: [ + { + title: '2019 Fall CS M.S. 經驗分享(上篇:經驗傳承)', + link: 'https://medium.com/@adrianhsu/2019-fall-cs-m-s-%E7%94%B3%E8%AB%8B%E5%9B%9E%E9%A5%8B-59d9b728d990', + }, + { + title: '2019 Fall CS M.S. 經驗分享(下篇:顛覆印象)', + link: 'https://medium.com/@adrianhsu/2019-fall-cs-m-s-%E7%B6%93%E9%A9%97%E5%88%86%E4%BA%AB-%E4%B8%8B%E7%AF%87-aabe034053c9', + }, + ], + }, + { + name: '許凱傑', + materials: [ + { + title: 'EE Ph.D. Application', + link: 'https://medium.com/phd-in-america/introduction-b80879fe10e6', + }, + ], + }, + { + name: '卓伯鴻', + materials: [ + { + title: 'M.S. ECE/CS Applications', + link: 'https://jaycho2007.medium.com/m-s-ece-cs-applications-776098fca74e', + }, + { + title: '2021 SWE New Grad 找工雜談', + link: 'https://jaycho2007.medium.com/2021-swe-new-grad-%E6%89%BE%E5%B7%A5%E9%9B%9C%E8%AB%87-816ce8b93677', + }, + ], + }, + { + name: '楊其昇', + materials: [ + { + title: '北美硬體 VLSI 找實習/正職心得', + link: 'https://chisheny.medium.com/%E5%8C%97%E7%BE%8E%E7%A1%AC%E9%AB%94-vlsi-%E6%89%BE%E5%AF%A6%E7%BF%92-%E6%AD%A3%E8%81%B7%E5%BF%83%E5%BE%97-1960e0d2ed7a', + }, + { + title: 'UM ECE MS 兩年修課心得', + link: 'https://chisheny.medium.com/um-ece-ms-%E5%85%A9%E5%B9%B4%E4%BF%AE%E8%AA%B2%E5%BF%83%E5%BE%97-f3e6e61a9a42', + }, + ], + }, + { + name: '孫凡耕', + materials: [ + { + title: '申請美國EE/CS PhD經驗分享(1)-總結、感想', + link: 'https://medium.com/@sunfankeng/%E7%94%B3%E8%AB%8B%E7%BE%8E%E5%9C%8Bee-cs-phd%E7%B6%93%E9%A9%97%E5%88%86%E4%BA%AB-%E7%B8%BD%E7%B5%90-%E6%84%9F%E6%83%B3-%E6%84%9F%E8%AC%9D-959b8eccc3f0', + }, + ], + }, + { + name: '張博智', + materials: [ + { + title: '走點彎路的碩士申請(一):背景、動機', + link: 'https://primesnow.medium.com/%E8%B5%B0%E9%BB%9E%E5%BD%8E%E8%B7%AF%E7%9A%84%E7%A2%A9%E5%A3%AB%E7%94%B3%E8%AB%8B-%E4%B8%80-%E8%83%8C%E6%99%AF-%E5%8B%95%E6%A9%9F-2260c537b520', + }, + ], + }, + ], + B04: [ + { + name: '莫絲羽', + materials: [ + { + title: 'CMU Robotics MS 申請美國機器人相關碩士經驗分享', + link: 'https://medium.com/momo%E7%9A%84%E6%A9%9F%E5%99%A8%E4%BA%BA%E7%95%99%E5%AD%B8%E5%A4%A2/%E7%94%B3%E8%AB%8B%E7%BE%8E%E5%9C%8Bee-cs-phd%E7%B6%93%E9%A9%97%E5%88%86%E4%BA%AB-%E7%B8%BD%E7%B5%90-%E6%84%9F%E6%83%B3-%E6%84%9F%E8%AC%9D-959b8eccc3f0', + }, + ], + }, + { + name: '吳倉永', + materials: [ + { + title: '2020 Fall 申請美國硬體 MS/MEng', + link: 'https://tywu13.medium.com/2020-fall-%E7%94%B3%E8%AB%8B%E7%BE%8E%E5%9C%8B%E7%A1%AC%E9%AB%94-ms-meng-4fee92a73bec', + }, + { + title: '2020 COVID19 北美找工作心得分享', + link: 'https://tywu13.medium.com/2020-covid19-%E5%8C%97%E7%BE%8E%E6%89%BE%E5%B7%A5%E4%BD%9C%E5%BF%83%E5%BE%97%E5%88%86%E4%BA%AB-685731a4cda', + }, + { + title: '美國硬體工程師必勝面經', + link: 'https://tywu13.medium.com/%E7%BE%8E%E5%9C%8B%E7%A1%AC%E9%AB%94%E5%B7%A5%E7%A8%8B%E5%B8%AB%E5%BF%85%E5%8B%9D%E9%9D%A2%E7%B6%93-c1a7423a9498', + }, + ], + }, + ], + B05: [ + { + name: '許秉倫', + materials: [ + { + title: '開源社群的第一門課 | 如何成為 Apache Committer', + link: 'https://byronhsu1230.medium.com/open-source-%E9%96%8B%E6%BA%90%E7%A4%BE%E7%BE%A4%E7%9A%84%E7%AC%AC%E4%B8%80%E9%96%80%E8%AA%B2-%E5%A6%82%E4%BD%95%E6%88%90%E7%82%BA-apache-committer-451d42e853d6', + }, + ], + }, + ], + B06: [ + { + name: 'MikeWang', + materials: [ + { + title: '2022 Fall US CS Master 申請心得', + link: 'https://medium.com/@mike_tcwang/2022-fall-us-cs-master-%E7%94%B3%E8%AB%8B%E5%BF%83%E5%BE%97-b0f9ccb23196?mibextid=Zxz2cZ', + }, + ], + }, + ], + } + const [visibles, setVisibles] = useState({ + B03: true, + B04: true, + B05: true, + B06: true, + }) + return ( +
+

Mediums

+ {Object.keys(mediums).map((key) => ( + <> +

+ {visibles[key] ? ( + setVisibles({ ...visibles, [key]: false })} + icon="cil-caret-bottom" + className="mx-2" + /> + ) : ( + setVisibles({ ...visibles, [key]: true })} + icon="cil-caret-right" + className="mx-2" + /> + )} + {key} +

+ + {mediums[key].map((medium) => ( + + ))} + + + ))} + +
+
+ 若您自己也有優質文章想要與大家分享,歡迎投稿至{' '} + eeplus2020@gmail.com 並附上您的姓名和級數(BXX)唷~ +
+
+ ) +} + +export default Medium diff --git a/client/src/views/in/material/index.js b/client/src/views/in/material/index.js new file mode 100644 index 000000000..cdb865ddb --- /dev/null +++ b/client/src/views/in/material/index.js @@ -0,0 +1,3 @@ +import Medium from './Medium' + +export default Medium