My Banking API
So in the last couple of days, I worked on building a robust banking API using the .Net stack – C# .Net, SQL Server, Entity Framework Core etc.
The API features the following endpoints:
POST api/Auth/Register – This allows users to register on the banking app. On registration, a bank account is automatically created and the account number returned to the user. A 6-digit secured OTP is also sent to the user email for verification. To further enhance security, this OTP has a 60secs lifetime. Here's what an OTP mail for email verification looks like on mobile.
POST api/Auth/VerifyEmail – Allows users to verify their email using the OTP sent to their emails.
POST api/Auth/GenerateNewToken – Allows the user to generate a new OTP token, in the event that the one sent to the email has expired.
POST api/Auth/Login – Allows users to login to their accounts, using their account number and password.
PUT api/BankUser/UpdateUser – Allows logged in users to update their info on the application. Does not allow update of names and Date of birth.
POST api/DepositTransfer/Deposit – Allows logged in users to deposit money into their account. On deposit, users receive a transaction notification email with details of the deposit transaction
POST api/DepositTransfer/Transfer – Allows logged in users to transfer money to other users registered on the app, using their account number. Both users receive a transaction notification email with the details of the transaction. Here's a sample of what the notification emails look like on a mobile.
GET api/DepositTransfer/Balance – Allows logged in users to check balance on their account.
GET api/TransactionHistory/AllTransactions – Allows admin users to check ALL transactions carried out on the application.
GET api/TransactionHistory/OneAccountTransactions – Allows users to view all transactions that has occurred on their account.
GET api/TransactionHistory/DownloadStatement – Allows users to download a statement of account. On request, a pdf copy is also sent to the user email.
POST api/Utility/SendMail – allows admin users send emails, when necessary.
GET api/Loan/CheckEligibility – Allows logged in users check if they are eligible to apply for a loan. Loan eligibility is determined by total inflow within a 30 day period.
GET api/Loan/Apply – Allows logged in users to apply for a loan facility (still working on this).
Thank you for reading all the way here!
Connect with me: