این سیستم کتابفروشی دارای قابلیتهای مدیریت کتاب، اعضا، و رزرو کتاب است.
- هر کتاب دارای اطلاعات دقیقی مانند عنوان، نویسنده، ژانر، تاریخ انتشار، شابک و قیمت است.
- عملیات CRUD برای کتاب فراهم است.
POST /api/books ..................... books.store › BookController@store
GET|HEAD /api/books/{book} ..................... books.show › BookController@show
PUT|PATCH /api/books/{book} ..................... books.update › BookController@update
DELETE /api/books/{book} ..................... books.destroy › BookController@destroy
- لیست شهرها و ژانرها و نویسندگان به صورت دستی در دیتابیس قرار داده شدهاند.
- API برای دریافت لیست کتابها با ویژگیهای مختلف طراحی شده است:
GET|HEAD /api/books ....................... books.index › BookController@index
-
-
- سرچ در تایتل کتاب ها :
- /api/books?s=test
- سرچ در تایتل کتاب ها :
-
- فیلتر با قیمت :
- /api/books?lp=1200&hp=50000
- فیلتر با قیمت :
-
- فیلتر با اسم ژانر :
- /api/books?genre=ترسناک
- فیلتر با اسم ژانر :
-
- فیلتر با آیدی شهر نویسنده :
- /api/books?city=1
- فیلتر با آیدی شهر نویسنده :
-
- مرتب سازی بر اساس قیمت :
- /api/books?sort=asc => نزولی به صعودی
- /api/books?sort=desc => صعودی به نزولی
- مرتب سازی بر اساس قیمت :
-
- هر عضو دارای نمایه با اطلاعات مانند نام، نام خانوادگی، نوع عضویت، و تاریخ اعتبار عضویت , ادمین بودن یا نبودن است.
- عضویت ورودی با استفاده از OTP انجام میشود.
POST /api/register ...................... AuthController@register
POST /api/login ......................... AuthController@login
- بعد از verify کردن OTP، یک توکن JWT به کاربر داده میشود.
POST /api/login/otp ..................... AuthController@validate_otp
GET|HEAD /api/logout ........................ AuthController@logout
- قابلیت خرید عضویت ویژه برای یک ماه وجود دارد.
GET|HEAD /api/buy_vip ..................... AuthController@buy_vip
- قابلیت حذف توکنها به صورت آنلاین توسط ادمین ها وجود دارد.
DELETE /api/delete_token/{phone} .................... AuthController@delete_token
- قابلیت throttling برای لاگین کردن وجود دارد. ( هر دو دقیقه پنج درخواست )
- هر فرد میتواند کتابی را به مدت یک هفته رزرو کند.
- برای اعضای ویژه، این مدت به دو هفته افزایش مییابد.
- برای اعضای عادی، هزینهی رزرو به ازای هر روز ۱۰۰۰ تومان است.
POST /api/reserve_book ..................... ReservationController@reserve_book
- تخفیفهای ویژه برای اعضای عادی وجود دارد:
- اگر یک ماه گذشته بیش از ۳ کتاب مختلف خوانده باشند ۳۰ درصد تخفیف خواهند گرفت
- اگر مجموع پرداختی های دو ماه گذشته آن ها بیش از 300 هزار تومان بوده باید رایگان میشود
- میتوان لیست کتابهای رزرو شده را مشاهده کرد.
POST /api/reserved_books .................... ReservationController@reserved_books
برای استفاده از سیستم، ابتدا موارد زیر را انجام دهید:
- دریافت پروژه , اجرای دستورات زیر :
composer install
php artisan key:generate.
php artisan migrate.