Here’s a well-structured README.md for your project:
A secure and scalable authentication system built using Node.js, Express, Bcrypt, JWT, Crypto, and React. The system includes user registration, login, email verification, and password reset functionality with industry-standard security measures.
- User Registration & Login with encrypted passwords (Bcrypt)
- JWT-based Authentication for secure session management
- Email Verification using unique token-based activation
- Password Reset with one-time token and expiration handling
- Protected Routes requiring authentication
- Fully Responsive Frontend built with React
- Node.js – JavaScript runtime
- Express.js – Backend framework
- Bcrypt – Secure password hashing
- JWT (JSON Web Tokens) – Stateless authentication
- Crypto – Secure token generation
- Nodemailer – Email service for account verification and password resets
- React.js – UI framework
- Axios – HTTP client for API requests
- React Router – Navigation and protected routes
Follow these steps to set up the project locally:
- Navigate to the
serverdirectory:cd server - Install dependencies:
npm install
- Start the Node.js server:
npm start
- Navigate to the
clientdirectory:cd client - Install dependencies:
npm install
- Start the React development server:
npm start
Create a .env file in the server folder and configure:
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_key
EMAIL_SERVICE=your_email_provider
EMAIL_USER=your_email
EMAIL_PASS=your_password