اطمینان حاصل کنید که موارد زیر روی سیستم شما نصب شده است:
- Node.js (نسخه v16.x یا جدیدتر پیشنهاد میشود) (آموزش نصب Node.js)
- npm (آموزش نصب npm)
- PgAdmin (آموزش نصب PgAdmin)
- Redis (آموزش نصب Redis)
-
مخزن پروژه را کلون کنید:
git clone https://github.com/reza-zanganeh/task-management.git cd task-management
-
یک فایل
.env
در دایرکتوری اصلی ایجاد کنید و مقادیر زیر را وارد کنید:DATABASE_URL="postgresql://postgres:root@localhost:5432/task-management?schema=public" REDIS_HOST="127.0.0.1" REDIS_PORT="6379" PORT=3000
وابستگیهای مورد نیاز را نصب کنید:
npm install
-
ایجاد پایگاه داده: پیشنهاد میشود از ابزار pgAdmin برای ایجاد پایگاه داده استفاده کنید:
- یک پایگاه داده جدید با نام
task-management
ایجاد کنید.
- یک پایگاه داده جدید با نام
-
اجرای دستورات Prisma برای تنظیم پایگاه داده و ایجاد جداول:
npx prisma db push npx prisma generate
این دستورات به ترتیب اسکیماها را تولید و جداول را در پایگاه داده ایجاد میکنند.
-
اطمینان حاصل کنید که Redis روی ویندوز نصب و در حال اجرا است:
-
برای ایجاد پایگاه داده میتوانید از ابزار pgAdmin استفاده کنید و یک پایگاه داده جدید با نام
task-management
ایجاد کنید. -
اطمینان حاصل کنید که متغیرهای محیطی در فایل
.env
درست تنظیم شده باشند.
سرور را در حالت توسعه اجرا کنید:
npm run dev
سرور روی پورتی که در فایل .env
مشخص شده (پیشفرض: http://localhost:3000
) اجرا خواهد شد.
مستندات Swagger برای این پروژه موجود است.
-
سرور را همانطور که در بالا توضیح داده شد، اجرا کنید.
-
به صفحه مستندات Swagger در مرورگر خود بروید:
http://localhost:3000/api-docs
-
POST /api/user/login-or-register
- توضیحات: درخواست برای ورود یا ثبت نام.
-
POST /api/user/login
- توضیحات: ورود به سامانه.
-
POST /api/user/register
- توضیحات: ثبت نام در سامانه.
-
POST /api/user/forget-password
- توضیحات: فراموشی رمز عبور.
-
POST /api/user/change-password
- توضیحات: تغییر رمز عبور.
-
POST /api/task
- توضیحات: ایجاد تسک جدید.
-
GET /api/task/:id
- توضیحات: مشاهده یک تسک.
-
GET /api/task
- توضیحات: مشاهده لیست تسکها.
-
PATCH /api/task/:id
- توضیحات: آپدیت تسک.
-
DELETE /api/task/:id
- توضیحات: حذف تسک.
GET /api-docs
- توضیحات: مشاهده صفحه Swagger پروژه.
- فایل کالکشن Postman در مخزن موجود است برای تست APIها. آن را در Postman ایمپورت کنید تا بهسرعت تمامی مسیرها را تست کنید.