Skip to content

reza-zanganeh/task-management

Repository files navigation

مدیریت تسک

یک api ساده برای مدیریت تسک ها

لینک گیت‌هاب پروژه

فهرست مطالب


پیش‌نیازها

اطمینان حاصل کنید که موارد زیر روی سیستم شما نصب شده است:


راه‌اندازی محیط

  1. مخزن پروژه را کلون کنید:

    git clone https://github.com/reza-zanganeh/task-management.git
    cd task-management
  2. یک فایل .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

راه‌اندازی پایگاه داده

  1. ایجاد پایگاه داده: پیشنهاد می‌شود از ابزار pgAdmin برای ایجاد پایگاه داده استفاده کنید:

    • یک پایگاه داده جدید با نام task-management ایجاد کنید.
  2. اجرای دستورات Prisma برای تنظیم پایگاه داده و ایجاد جداول:

    npx prisma db push
    npx prisma generate

    این دستورات به ترتیب اسکیماها را تولید و جداول را در پایگاه داده ایجاد می‌کنند.


اجرای سرور

تنظیمات برای ویندوز

  1. اطمینان حاصل کنید که Redis روی ویندوز نصب و در حال اجرا است:

  2. برای ایجاد پایگاه داده می‌توانید از ابزار pgAdmin استفاده کنید و یک پایگاه داده جدید با نام task-management ایجاد کنید.

  3. اطمینان حاصل کنید که متغیرهای محیطی در فایل .env درست تنظیم شده باشند.

اجرای سرور

سرور را در حالت توسعه اجرا کنید:

npm run dev

سرور روی پورتی که در فایل .env مشخص شده (پیش‌فرض: http://localhost:3000) اجرا خواهد شد.


استفاده از Swagger

مستندات Swagger برای این پروژه موجود است.

  1. سرور را همانطور که در بالا توضیح داده شد، اجرا کنید.

  2. به صفحه مستندات Swagger در مرورگر خود بروید:

    http://localhost:3000/api-docs
    

مسیرهای API

مسیرهای کاربر

  • 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 ایمپورت کنید تا به‌سرعت تمامی مسیرها را تست کنید.

About

A simple project for Bad Saba company interview

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published