1.0.0 • Published 7 months ago

mern_base v1.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
7 months ago

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

  1. 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 FROM_EMAIL=noreply@fileuploader.com 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).