سلام دوست عزیز😃👋
به مسابقه «مسابقه کشتیبان داتنت» خوش آمدی!
هرگونه ارتباط با سایر شرکتکنندگان و یا استفاده از ابزارهای تولید کد، مثل chatGPT
و... در مسابقات کوئرا ممنوع است و بعد از شناسایی از لیست شرکتکنندگان مسابقه حذف میشوید.
لینکهای مفید برای شرکت در مسابقه:
سوالات و مشکلات خودتان را میتوانید از طریق قسمت «سوال بپرسید» با ما در میان بگذارید.
موفق باشید و بهتون خوش بگذره 😉✌
شما مسئول توسعه یک سیستم بانکی ساده تحت وب هستید که شامل چندین قابلیت (Functionality) است. هدف اصلی شما ایجاد و پیادهسازی این قابلیت هاست که در ادامه توضیح داده خواهند شد. همچنین یک پروژه اولیه به شما داده شد است که باید تغییرات خود را بر روی آن اعمال نمایید. پروژه اولیه را از این لینک دانلود کنید.
در این سیستم، شما چندین مدل مختلف دارید که برای مدیریت و نمایش اطلاعات بانکی استفاده میشوند. مدلهای اصلی شامل موارد زیر هستند:
اطلاعات مربوط به مدل ها را می توانید در بخش توضیحات ساختار دیتابیس مطالعه بفرمایید
این سیستم بانکی شامل چندین قابلیت اصلی است که به کاربران امکان میدهد تا به اطلاعات حساب خود دسترسی پیدا کرده و تراکنشهای مختلفی را انجام دهند. هر یک از این قابلیتها از طریق APIهای مخصوص خود باید انجام شوند.
واحد پولی این سیستم تومان است
سیستم شما باید قادر باشد اطلاعات یک حساب بانکی را نمایش دهد. کاربر با ارائه کد حساب، انتظار دارد اطلاعات مربوط به حساب مورد نظر را دریافت کند.
با استفاده از این قابلیت، امکان انتقال پول از یک حساب مبدا به یک حساب مقصد فراهم می شود. این انتقال باید دارای شرایط زیر باشد:
شماره شبا در ایران شامل پیشوند IR و سپس 24 رقم است (مانند: IR300564661822065022536289).
این قابلیت لیستی از تراکنشهای انجام شده هر حساب را بصورت مرتب شده نزولی بر اساس زمان تراکنش نمایش می دهد. اطلاعات شامل کد تراکنش، مبلغ تراکنش، تاریخ، موجودی بعد از تراکنش، شماره شبای بر روی تراکنش، و نوع تراکنش (واریز یا برداشت) میباشد.
جدول Accounts
:
عنوان | نوع | توضیحات |
---|---|---|
Number | TEXT (string) |
شماره حساب منحصر به فرد هر کاربر |
Sheba | TEXT (string) |
شماره شبا مرتبط با حساب که منحصر به فرد است |
FirstName | TEXT (string) |
نام صاحب حساب |
LastName | TEXT (string) |
نام خانوادگی صاحب حساب |
Balance | REAL (decimal) |
موجودی حساب |
CreationDate | TEXT (DateTime) |
تاریخ ایجاد حساب |
جدول Transactions
:
عنوان | نوع | توضیحات |
---|---|---|
Id | INTEGER (int) |
شناسه منحصر به فرد هر تراکنش |
Amount | REAL (decimal) |
مبلغ تراکنش |
Code | TEXT (string) |
کد منحصر به فرد تراکنش های مرتبط |
Date | TEXT (string) |
تاریخ انجام تراکنش |
PostBalance | REAL (decimal) |
موجودی حساب بعد از انجام تراکنش |
BaseAccountNumber | TEXT (string) |
شماره حساب مبدا تراکنش |
SubAccountNumber | TEXT (string) |
شماره حساب مقصد تراکنش |
Type | TEXT (TransactionType) |
نوع تراکنش (واریز یا برداشت) |
به صورت پیشفرض کاربران زیر در دیتابیس تعریف کنید؛ تا برای تست عملکرد برنامه از آنها استفاده کنید.
فرد اول:
فرد دوم:
پاسخ ارسالی شما باید یک فایل zip به همان فرمت پروژه اولیه باشد. در نظر بگیرید که فایل zip شما باید این ساختار فایل را داشته باشد.
در نظر داشته باشید که حتما برای دیتابیس بعد از کانفیگ کردن مدل های خود یک Migration اضافه کنید.
/Data/Migrations
قرار گیرد.