This application is deployed on DigitalOcean. Please check it out ๐ here.
Frontend:
Backend:
Database:
Deployed On:
- Protected routes with Higher Order Components
- Login with forgot password feature.
- JWT protected APIs
- Passwords are encrypted.
- Image upload with Cloudinary
- Toast notifications for user actions.
โโโ client/
โ โโโ public/
โ โ โโโ favicon.ico
โ โ โโโ index.html
โ โ โโโ logo192.png
โ โ โโโ logo512.png
โ โ โโโ manifest.json
โ โ โโโ robots.txt
โ โโโ src/
โ โ โโโ assets/
โ โ โ โโโ email.svg
โ โ โ โโโ green_check.svg.json
โ โ โ โโโ index.js
โ โ โ โโโ logo.png
โ โ โ โโโ user.svg
โ โ โโโ components/
โ โ โ โโโ NavigationBar/
โ โ โ โ โโโ NavigationBar.jsx
โ โ โ โ โโโ NavigationBar.css
โ โ โ โโโ ProfileModal/
โ โ โ โ โโโ ProfileModal.jsx
โ โ โ โโโ index.js
โ โ โโโ context/
โ โ โ โโโ AuthProvider.jsx
โ โ โโโ Pages/
โ โ โ โโโ ForgotPasswordPage/
โ โ โ โ โโโ ForgotPasswordPage.css
โ โ โ โ โโโ ForgotPasswordPage.jsx
โ โ โ โโโ HomePage/
โ โ โ โ โโโ HomePage.css
โ โ โ โ โโโ HomePage.jsx
โ โ โ โโโ LoginPage/
โ โ โ โ โโโ LoginPage.css
โ โ โ โ โโโ LoginPage.jsx
โ โ โ โโโ PasswordResetPage/
โ โ โ โ โโโ PasswordResetPage.css
โ โ โ โ โโโ PasswordResetPage.jsx
โ โ โ โโโ RegisterPage/
โ โ โ โ โโโ RegisterPage.css
โ โ โ โ โโโ RegisterPage.jsx
โ โ โ โโโ index.js
โ โ โโโ Utils/
โ โ โ โโโ index.js
โ โ โ โโโ notify.js
โ โ โ โโโ PrivateRoutes.jsx
โ โ โโโ App.css
โ โ โโโ App.jsx
โ โ โโโ index.js
โ โโโ .env.example
โ โโโ package-lock.json
โ โโโ package.json
โโโ config/
โ โโโ db.js
โโโ controllers/
โ โโโ auth.js
โ โโโ private.js
โโโ middleware/
โ โโโ auth.js
โ โโโ error.js
โโโ models/
โ โโโ User.js
โโโ routes/
โ โโโ auth.js
โ โโโ private.js
โโโ utils/
โ โโโ errorResponse.js
โ โโโ sendEmail.js
โโโ .env.example
โโโ .gitignore
โโโ LICENSE
โโโ package-lock.json
โโโ package.json
โโโ README.md
โโโ server.js
In order to run the project you need node>=16
and npm>=8
installed on your machine.
git clone https://github.com/rtewari056/mern-stack-authentication-boilerplate.git
cd mern-stack-authentication-boilerplate
# In the root directory put your creadentials
APP_BASE_URL=http://localhost:3000
NODE_ENV=development
PORT=5000
MONGO_URI="YOUR_MONGO_CONNECTION_URL"
JWT_SECRET="YOUR_JWT_SECRET"
JWT_EXPIRE=24 # In hours
SMTP_HOST=<YOUR_SMTP_SERVER_HOST_NAME>
SMTP_PORT=587
SMTP_USER=<YOUR_SMTP_SERVER_USER_NAME>
SMTP_PASSWORD=<YOUR_SMTP_SERVER_PASSWORD>
EMAIL_FROM=<EMAIL_ADDRESS_OF_SENDER>
# Now go to client folder and put your cloudinary creadentials
REACT_APP_CLOUDINARY_CLOUD_NAME=<YOUR_CLOUDINARY_CLOUD_NAME>
REACT_APP_CLOUDINARY_UPLOAD_PRESET=<YOUR_CLOUDINARY_UPLOAD_PRESET>
npm install # Server dependencies
cd client
npm install # Client dependencies
In the root
directory, open two terminal sessions and run both commands separately:
npm run client
npm run server
If you want to contact me, you can reach me through below handles.
MERN Stack Authentication Boilerplate is licensed under the MIT License.