├── .editorconfig ├── src ├── App.css ├── components │ ├── SideNav │ │ └── SideNav.css │ ├── BookDetails │ │ ├── BookDetails.css │ │ └── BookDetails.jsx │ ├── Library │ │ ├── Library.module.css │ │ ├── Library.css │ │ └── data.json │ ├── Register │ │ └── Register.css │ ├── SettingIcon │ │ ├── Setting.css │ │ └── Setting.jsx │ ├── Hooks │ │ ├── useProfileData.js │ │ └── useCheckBoxToggle.js │ ├── BookSearch │ │ ├── BookSearch.jsx │ │ └── BookSearch.css │ ├── FormikContainer │ │ └── CreateProfileForm │ │ │ ├── SelectInputField.jsx │ │ │ ├── IDE_Options.js │ │ │ ├── operatingSystemOptions.js │ │ │ ├── programingSkillOptions.js │ │ │ └── CreateProfileForm.css │ ├── Feedback │ │ ├── Feedback.css │ │ ├── CaptureFeedback.jsx │ │ ├── DirectFeedback.jsx │ │ └── EmailFeedback.jsx │ └── SearchPopup │ │ └── PopupState.jsx ├── pages │ ├── ResetPassword │ │ └── ResetPassword.css │ ├── Profile │ │ ├── CreateProfileAlert.css │ │ ├── CreateProfileAlert.jsx │ │ └── Profile.css │ ├── userDetails │ │ └── UserDetails.jsx │ ├── Settings │ │ ├── utils │ │ │ ├── alert.js │ │ │ ├── i18n.js │ │ │ └── language.js │ │ ├── languageOptions.js │ │ ├── Privacy.css │ │ ├── Notifications.css │ │ ├── Settings.css │ │ ├── SideSettingsDrawer.jsx │ │ └── LanguageSetting.jsx │ ├── Login │ │ ├── Login.css │ │ └── Login.jsx │ ├── Support │ │ └── Support.css │ ├── ForgotPassword │ │ ├── ForgotPassword.css │ │ └── ForgotPassword.jsx │ ├── PrivacyPolicy │ │ └── PrivacyPolicy.css │ └── Home │ │ ├── Home.css │ │ └── Home.jsx ├── server │ ├── .gitignore │ ├── setup │ │ ├── cleanup.sh │ │ ├── setup.sh │ │ ├── docker-compose.yml │ │ └── setup.js │ ├── .variable.env │ ├── routes │ │ ├── supportRoutes.js │ │ ├── reviewRoutes.js │ │ ├── settingsRoutes.js │ │ ├── profileRoutes.js │ │ ├── booksRoutes.js │ │ └── userRoutes.js │ ├── model │ │ ├── feedBackModel.js │ │ ├── tokenModel.js │ │ ├── supportModel.js │ │ ├── userModel.js │ │ ├── reviewModel.js │ │ ├── booksModel.js │ │ ├── userBooksLibraryModel.js │ │ ├── settingsModel.js │ │ └── profileModel.js │ ├── README.md │ ├── controller │ │ ├── reviewController.js │ │ ├── supportController.js │ │ ├── feedBackController.js │ │ ├── profileController.js │ │ ├── settingsController.js │ │ └── booksController.js │ ├── package.json │ └── index.js ├── assets │ ├── codebooker.png │ └── languages.js ├── tests │ ├── App.test.js │ ├── mocks │ │ ├── server.js │ │ └── handlers.js │ ├── home.test.js │ ├── login.test.js │ └── signup.test.js ├── index.css ├── reportWebVitals.js ├── ProtectedRoute.jsx ├── setupTests.js ├── index.js ├── App.js ├── logo.svg └── hooks │ └── useAxios.js ├── .env ├── CODEOWNERS ├── docs ├── Clone.png ├── fork.png ├── CreateFork.png ├── CreateForkBtn.png ├── ForkedBranch.png ├── ForkClone.md └── DEVSETUP.md ├── .vscode ├── launch.json ├── tasks.json ├── codebooker.code-workspace ├── extensions.json └── settings.json ├── public ├── favicon.ico ├── robots.txt ├── codebooker192.png ├── codebooker512.png ├── favicon-16x16.png ├── favicon-32x32.png ├── Assets │ ├── Avatar.webp │ ├── book-img.png │ ├── avatar-img.png │ ├── codebooker-logo.png │ └── profile-banner-img.png ├── apple-touch-icon.png ├── manifest.json └── index.html ├── .eslintignore ├── svgr.config.js ├── .prettierignore ├── postcss.config.js ├── tailwind.config.js ├── .prettierrc ├── CONTRIBUTORS.md ├── .github ├── config.yml ├── ISSUE_TEMPLATE │ ├── feature_request.md │ └── bug_report.md └── PULL_REQUEST_TEMPLATE │ └── PULL_REQUEST_TEMPLATE.md ├── .gitignore ├── SPONSORS.md ├── SECURITY.md ├── CHANGELOG.md ├── .eslintrc.js ├── LICENSE ├── TODO.md ├── README.md ├── package.json ├── CODE_OF_CONDUCT.md └── CONTRIBUTING.md /.editorconfig: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/App.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.env: -------------------------------------------------------------------------------- 1 | GENERATE_SOURCEMAP=false -------------------------------------------------------------------------------- /src/components/SideNav/SideNav.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | # defaults 2 | 3 | * @gbowne1 -------------------------------------------------------------------------------- /src/components/BookDetails/BookDetails.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/pages/ResetPassword/ResetPassword.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/server/.gitignore: -------------------------------------------------------------------------------- 1 | .env 2 | node_modules -------------------------------------------------------------------------------- /src/server/setup/cleanup.sh: -------------------------------------------------------------------------------- 1 | docker-compose down -------------------------------------------------------------------------------- /src/server/setup/setup.sh: -------------------------------------------------------------------------------- 1 | docker-compose up -d 2 | node setup.js -------------------------------------------------------------------------------- /src/pages/Profile/CreateProfileAlert.css: -------------------------------------------------------------------------------- 1 | .img{ 2 | width: 100%; 3 | } -------------------------------------------------------------------------------- /docs/Clone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbowne1/codebooker/HEAD/docs/Clone.png -------------------------------------------------------------------------------- /docs/fork.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbowne1/codebooker/HEAD/docs/fork.png -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [] 4 | } 5 | -------------------------------------------------------------------------------- /docs/CreateFork.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbowne1/codebooker/HEAD/docs/CreateFork.png -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbowne1/codebooker/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | # Third party 2 | **/node_modules 3 | 4 | # Build products 5 | build/ 6 | coverage/ -------------------------------------------------------------------------------- /docs/CreateForkBtn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbowne1/codebooker/HEAD/docs/CreateForkBtn.png -------------------------------------------------------------------------------- /docs/ForkedBranch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbowne1/codebooker/HEAD/docs/ForkedBranch.png -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /public/codebooker192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbowne1/codebooker/HEAD/public/codebooker192.png -------------------------------------------------------------------------------- /public/codebooker512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbowne1/codebooker/HEAD/public/codebooker512.png -------------------------------------------------------------------------------- /public/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbowne1/codebooker/HEAD/public/favicon-16x16.png -------------------------------------------------------------------------------- /public/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbowne1/codebooker/HEAD/public/favicon-32x32.png -------------------------------------------------------------------------------- /public/Assets/Avatar.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbowne1/codebooker/HEAD/public/Assets/Avatar.webp -------------------------------------------------------------------------------- /public/Assets/book-img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbowne1/codebooker/HEAD/public/Assets/book-img.png -------------------------------------------------------------------------------- /public/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbowne1/codebooker/HEAD/public/apple-touch-icon.png -------------------------------------------------------------------------------- /src/assets/codebooker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbowne1/codebooker/HEAD/src/assets/codebooker.png -------------------------------------------------------------------------------- /public/Assets/avatar-img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbowne1/codebooker/HEAD/public/Assets/avatar-img.png -------------------------------------------------------------------------------- /svgr.config.js: -------------------------------------------------------------------------------- 1 | // .svgrrc.js 2 | module.exports = { 3 | icon: true, 4 | expandProps: false, 5 | }; 6 | -------------------------------------------------------------------------------- /public/Assets/codebooker-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbowne1/codebooker/HEAD/public/Assets/codebooker-logo.png -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | build/ 2 | node_modules/ 3 | internals/generators/ 4 | internals/scripts/ 5 | package-lock.json 6 | package.json -------------------------------------------------------------------------------- /public/Assets/profile-banner-img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gbowne1/codebooker/HEAD/public/Assets/profile-banner-img.png -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | }; 7 | -------------------------------------------------------------------------------- /src/pages/userDetails/UserDetails.jsx: -------------------------------------------------------------------------------- 1 | const UserDetails = () => { 2 | return