├── .gitignore ├── VERCEL_DEPLOYMENT_GUIDE.md ├── api ├── index.js ├── package.json ├── src │ ├── controllers │ │ ├── auth.controller.js │ │ ├── comment.controller.js │ │ ├── post.controller.js │ │ └── user.controller.js │ ├── models │ │ ├── comment.model.js │ │ ├── post.model.js │ │ └── user.model.js │ ├── routes │ │ ├── auth.route.js │ │ ├── comment.route.js │ │ ├── post.route.js │ │ └── user.route.js │ └── utils │ │ ├── error.js │ │ └── verifyUser.js └── vercel.json ├── client ├── .eslintrc.cjs ├── README.md ├── index.html ├── package-lock.json ├── package.json ├── postcss.config.js ├── src │ ├── App.jsx │ ├── components │ │ ├── CallToAction.jsx │ │ ├── Comment.jsx │ │ ├── CommentSection.jsx │ │ ├── DashComments.jsx │ │ ├── DashPosts.jsx │ │ ├── DashProfile.jsx │ │ ├── DashSidebar.jsx │ │ ├── DashUsers.jsx │ │ ├── DashboardComp.jsx │ │ ├── Footer.jsx │ │ ├── Header.jsx │ │ ├── OAuth.jsx │ │ ├── OnlyAdminPrivateRoute.jsx │ │ ├── PostCard.jsx │ │ ├── PrivateRoute.jsx │ │ ├── ScrollToTop.jsx │ │ └── ThemeProvider.jsx │ ├── firebase.js │ ├── index.css │ ├── main.jsx │ ├── pages │ │ ├── About.jsx │ │ ├── CreatePost.jsx │ │ ├── Dashboard.jsx │ │ ├── Home.jsx │ │ ├── PostPage.jsx │ │ ├── Projects.jsx │ │ ├── Search.jsx │ │ ├── SignIn.jsx │ │ ├── SignUp.jsx │ │ └── UpdatePost.jsx │ └── redux │ │ ├── store.js │ │ ├── theme │ │ └── themeSlice.js │ │ └── user │ │ └── userSlice.js ├── tailwind.config.js ├── vercel.json └── vite.config.js └── package.json /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/.gitignore -------------------------------------------------------------------------------- /VERCEL_DEPLOYMENT_GUIDE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/VERCEL_DEPLOYMENT_GUIDE.md -------------------------------------------------------------------------------- /api/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/api/index.js -------------------------------------------------------------------------------- /api/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/api/package.json -------------------------------------------------------------------------------- /api/src/controllers/auth.controller.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/api/src/controllers/auth.controller.js -------------------------------------------------------------------------------- /api/src/controllers/comment.controller.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/api/src/controllers/comment.controller.js -------------------------------------------------------------------------------- /api/src/controllers/post.controller.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/api/src/controllers/post.controller.js -------------------------------------------------------------------------------- /api/src/controllers/user.controller.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/api/src/controllers/user.controller.js -------------------------------------------------------------------------------- /api/src/models/comment.model.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/api/src/models/comment.model.js -------------------------------------------------------------------------------- /api/src/models/post.model.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/api/src/models/post.model.js -------------------------------------------------------------------------------- /api/src/models/user.model.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/api/src/models/user.model.js -------------------------------------------------------------------------------- /api/src/routes/auth.route.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/api/src/routes/auth.route.js -------------------------------------------------------------------------------- /api/src/routes/comment.route.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/api/src/routes/comment.route.js -------------------------------------------------------------------------------- /api/src/routes/post.route.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/api/src/routes/post.route.js -------------------------------------------------------------------------------- /api/src/routes/user.route.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/api/src/routes/user.route.js -------------------------------------------------------------------------------- /api/src/utils/error.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/api/src/utils/error.js -------------------------------------------------------------------------------- /api/src/utils/verifyUser.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/api/src/utils/verifyUser.js -------------------------------------------------------------------------------- /api/vercel.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/api/vercel.json -------------------------------------------------------------------------------- /client/.eslintrc.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/.eslintrc.cjs -------------------------------------------------------------------------------- /client/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/README.md -------------------------------------------------------------------------------- /client/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/index.html -------------------------------------------------------------------------------- /client/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/package-lock.json -------------------------------------------------------------------------------- /client/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/package.json -------------------------------------------------------------------------------- /client/postcss.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/postcss.config.js -------------------------------------------------------------------------------- /client/src/App.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/App.jsx -------------------------------------------------------------------------------- /client/src/components/CallToAction.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/components/CallToAction.jsx -------------------------------------------------------------------------------- /client/src/components/Comment.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/components/Comment.jsx -------------------------------------------------------------------------------- /client/src/components/CommentSection.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/components/CommentSection.jsx -------------------------------------------------------------------------------- /client/src/components/DashComments.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/components/DashComments.jsx -------------------------------------------------------------------------------- /client/src/components/DashPosts.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/components/DashPosts.jsx -------------------------------------------------------------------------------- /client/src/components/DashProfile.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/components/DashProfile.jsx -------------------------------------------------------------------------------- /client/src/components/DashSidebar.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/components/DashSidebar.jsx -------------------------------------------------------------------------------- /client/src/components/DashUsers.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/components/DashUsers.jsx -------------------------------------------------------------------------------- /client/src/components/DashboardComp.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/components/DashboardComp.jsx -------------------------------------------------------------------------------- /client/src/components/Footer.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/components/Footer.jsx -------------------------------------------------------------------------------- /client/src/components/Header.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/components/Header.jsx -------------------------------------------------------------------------------- /client/src/components/OAuth.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/components/OAuth.jsx -------------------------------------------------------------------------------- /client/src/components/OnlyAdminPrivateRoute.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/components/OnlyAdminPrivateRoute.jsx -------------------------------------------------------------------------------- /client/src/components/PostCard.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/components/PostCard.jsx -------------------------------------------------------------------------------- /client/src/components/PrivateRoute.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/components/PrivateRoute.jsx -------------------------------------------------------------------------------- /client/src/components/ScrollToTop.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/components/ScrollToTop.jsx -------------------------------------------------------------------------------- /client/src/components/ThemeProvider.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/components/ThemeProvider.jsx -------------------------------------------------------------------------------- /client/src/firebase.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/firebase.js -------------------------------------------------------------------------------- /client/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/index.css -------------------------------------------------------------------------------- /client/src/main.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/main.jsx -------------------------------------------------------------------------------- /client/src/pages/About.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/pages/About.jsx -------------------------------------------------------------------------------- /client/src/pages/CreatePost.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/pages/CreatePost.jsx -------------------------------------------------------------------------------- /client/src/pages/Dashboard.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/pages/Dashboard.jsx -------------------------------------------------------------------------------- /client/src/pages/Home.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/pages/Home.jsx -------------------------------------------------------------------------------- /client/src/pages/PostPage.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/pages/PostPage.jsx -------------------------------------------------------------------------------- /client/src/pages/Projects.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/pages/Projects.jsx -------------------------------------------------------------------------------- /client/src/pages/Search.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/pages/Search.jsx -------------------------------------------------------------------------------- /client/src/pages/SignIn.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/pages/SignIn.jsx -------------------------------------------------------------------------------- /client/src/pages/SignUp.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/pages/SignUp.jsx -------------------------------------------------------------------------------- /client/src/pages/UpdatePost.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/pages/UpdatePost.jsx -------------------------------------------------------------------------------- /client/src/redux/store.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/redux/store.js -------------------------------------------------------------------------------- /client/src/redux/theme/themeSlice.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/redux/theme/themeSlice.js -------------------------------------------------------------------------------- /client/src/redux/user/userSlice.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/src/redux/user/userSlice.js -------------------------------------------------------------------------------- /client/tailwind.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/tailwind.config.js -------------------------------------------------------------------------------- /client/vercel.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/vercel.json -------------------------------------------------------------------------------- /client/vite.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/client/vite.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sahandghavidel/mern-blog/HEAD/package.json --------------------------------------------------------------------------------