mern_base
v1.0.0
Published
This project is a user management system that includes login, authentication, and email functionality for password recovery. **Express** is used for the backend, and **React** is used for the frontend. Additionally, **Formik** is used for form handling, a
Downloads
76
Readme
User Management System with Express and React
This project is a user management system that includes login, authentication, and email functionality for password recovery. Express is used for the backend, and React is used for the frontend. Additionally, Formik is used for form handling, and Redux is used for state management.
Features
- Login and Authentication: Users can log in to their accounts.
- Password Recovery: Users can request an email to reset their password if they forget it.
- State Management with Redux: Redux is used for managing the app's state on the frontend.
- Form Handling with Formik: Formik is used for handling forms and validation.
Technologies Used
Backend:
- Node.js
- Express.js
- JWT Authentication
- Nodemailer for email sending
Frontend:
- React.js
- Formik for form handling
- Redux for state management
- React Bootstrap for UI components
Installation and Setup
- This project consists of two parts: Backend and Frontend, which need to be set up separately.
Install Backend Dependencies
In the root directory, run the following command to install backend dependencies:
npm install
This will install all required dependencies for the Express backend, including packages for authentication, email handling, and MongoDB connection.
Install Frontend Dependencies
Navigate to the client folder and install the React dependencies by running:
cd client npm install
This will install the required packages for the React frontend, including React, Redux, Formik, and other related libraries.
Environment Variables
Create a .env file in the root of your project and add the following:
PORT=5000 NODE_ENV=development
MONGO_URI=mongodb+srv:// ACCESS_TOKEN_SECRET=accesstokenssecret REFRESH_TOKEN_SECRET=refreshtokenssecret
SMTP_HOST=sandbox.smtp.mailtrap.io SMTP_PORT=2525 SMTP_EMAIL=your_smtp_email SMTP_PASSWORD=your_smtp_password [email protected] FROM_NAME=FileUploader
Make sure to replace the values with your own credentials (for MongoDB and SMTP).
Run the Application
Once dependencies are installed and environment variables are configured, you can start both the backend and frontend.
In the root directory, run:
npm run dev
This will start the backend server (usually on http://localhost:3000).