Step 1: Set up the project and install dependencies
First, let’s create a new project and install the necessary dependencies:
mkdir express-auth-system
cd express-auth-system
npm init -y
npm install express sequelize mysql2 bcryptjs jsonwebtoken dotenv
npm install --save-dev nodemon
express
: সার্ভার তৈরি করতে।sequelize
: ডাটাবেস ম্যানেজমেন্টের জন্য।mysql2
: MySQL ডাটাবেসের জন্য।bcryptjs
: পাসওয়ার্ড এনক্রিপশনের জন্য।jsonwebtoken
: টোকেন ব্যবস্থাপনার জন্য।dotenv
: পরিবেশগত ভেরিয়েবল ব্যবহার করতে।
Now, let’s create the main application file:
// app.js
const express = require('express');
const dotenv = require('dotenv');
dotenv.config();
const app = express();
app.use(express.json());
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
});
.env
ফাইল তৈরি করা
আপনার প্রজেক্ট ফোল্ডারের রুটে একটি .env
ফাইল তৈরি করুন এবং সেখানে প্রয়োজনীয় পরিবেশগত ভেরিয়েবল যোগ করুন। উদাহরণ:
# Application Port
PORT=5000
# Database Configuration
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=yourpassword
DB_NAME=express_auth_system
# JWT Secret
JWT_SECRET=your_jwt_secret
উপাদানের ব্যাখ্যা (বাংলা):
PORT=5000
: সার্ভার কোন পোর্টে চলবে তা নির্ধারণ করে।- এখানে ডিফল্ট পোর্ট হিসেবে ৫০০০ ব্যবহার করা হয়েছে।
- ডাটাবেস সংযোগের জন্য ভেরিয়েবল:
DB_HOST
: আপনার ডাটাবেস সার্ভারের হোস্ট, সাধারণতlocalhost
।DB_USER
: ডাটাবেস ব্যবহারকারীর নাম।DB_PASSWORD
: ডাটাবেসের পাসওয়ার্ড।DB_NAME
: আপনার প্রজেক্টের জন্য নির্ধারিত ডাটাবেসের নাম।
JWT_SECRET=your_jwt_secret
:- JWT (JSON Web Token) তৈরি ও যাচাই করার জন্য একটি সিক্রেট কী। এটি সুরক্ষিত রাখতে হবে।
এই .env
ফাইলটি গোপনীয় এবং আপনার প্রজেক্টের বাইরে শেয়ার করা উচিত নয়। .gitignore
ফাইল ব্যবহার করে .env
ফাইলটি গিটে যোগ করা থেকে রক্ষা করুন।
.gitignore
ফাইলের উদাহরণ:
# Ignore .env file
.env
Updated package.json
:
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "nodemon app.js",
"start": "node app.js"
},
run server
npm start