# ബാങ്ക് API

> ബാങ്ക് API നിർമ്മിച്ചിരിക്കുന്നത് [Node.js](https://nodejs.org) + [Express](https://expressjs.com/).

API ഇതിനകം തന്നെ നിങ്ങൾക്കായി നിർമ്മിച്ചതാണ്, വ്യായാമത്തിന്റെ ഭാഗമല്ല.

എന്നിരുന്നാലും, ഇതുപോലുള്ള ഒരു API എങ്ങനെ നിർമ്മിക്കാമെന്ന് അറിയാൻ നിങ്ങൾക്ക് താൽപ്പര്യമുണ്ടെങ്കിൽ, നിങ്ങൾക്ക് ഈ വീഡിയോ പരമ്പര പിന്തുടരാവുന്നതാണ്: https://aka.ms/NodeBeginner (വീഡിയോകൾ 17 മുതൽ 21 വരെ ഈ കൃത്യമായ API ഉൾക്കൊള്ളുന്നു).

നിങ്ങൾക്ക് ഈ ഇന്ററാക്ടീവ് ട്യൂട്ടോറിയലും നോക്കാം: https://aka.ms/learn/express-api

## സെർവർ പ്രവർത്തിപ്പിക്കുന്നു

നിങ്ങൾ [Node.js](https://nodejs.org) ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക.

1. Git ഈ റിപ്പോ ക്ലോൺ ചെയ്യുക [The Web-Dev-For-Beginners](https://github.com/microsoft/Web-Dev-For-Beginners).
2. നിങ്ങളുടെ ടെർമിനൽ തുറന്ന് `Web-Dev-For-Beginners/7-bank-project/api` ഫോൾഡറിലേക്ക് നാവിഗേറ്റ് ചെയ്യുക
2. `npm install` റൺ ചെയ്‌ത് പാക്കേജുകൾ ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനായി കാത്തിരിക്കുക (നിങ്ങളുടെ ഇന്റർനെറ്റ് കണക്ഷന്റെ ഗുണനിലവാരം അനുസരിച്ച് കുറച്ച് സമയമെടുത്തേക്കാം).
3. ഇൻസ്റ്റാളേഷൻ പൂർത്തിയാകുമ്പോൾ, `npm start` റൺ ചെയ്യുക, നിങ്ങൾക്ക് പോകാം.

'5000' പോർട്ടിൽ സെർവർ കേൾക്കാൻ തുടങ്ങണം.
*ഈ സെർവർ പ്രധാന ബാങ്ക് ആപ്പ് സെർവർ ടെർമിനലിനൊപ്പം പ്രവർത്തിക്കും (`3000` പോർട്ടിൽ കേൾക്കുന്നു), ഇത് അടയ്ക്കരുത്.*

> ശ്രദ്ധിക്കുക: എല്ലാ എൻട്രികളും മെമ്മറിയിൽ സംഭരിച്ചിരിക്കുന്നു, അവ നിലനിൽക്കില്ല, അതിനാൽ സെർവർ നിർത്തുമ്പോൾ എല്ലാ ഡാറ്റയും നഷ്‌ടപ്പെടും.

## API വിശദാംശങ്ങൾ

റൂട്ട്                                         | വിവരണം 
---------------------------------------------|------------------------------------
GET    /api/                                 | സെർവർ വിവരങ്ങൾ നേടുക
POST   /api/accounts/                        | ഒരു അക്കൗണ്ട് സൃഷ്ടിക്കുക, ex: `{ user: 'Yohan', description: 'My budget', currency: 'EUR', balance: 100 }`
GET    /api/accounts/:user                   | നിർദ്ദിഷ്ട അക്കൗണ്ടിനായുള്ള എല്ലാ ഡാറ്റയും നേടുക
DELETE /api/accounts/:user                   | നിർദ്ദിഷ്ട അക്കൗണ്ട് നീക്കം ചെയ്യുക
POST   /api/accounts/:user/transactions      | ഒരു ഇടപാട് ചേർക്കുക, ex: `{ date: '2020-07-23T18:25:43.511Z', object: 'Bought a book', amount: -20 }`
DELETE  /api/accounts/:user/transactions/:id | നിർദ്ദിഷ്ട ഇടപാട് നീക്കം ചെയ്യുക