You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/7-bank-project/api
Charles Emmanuel S. Ndiaye b19ed95ad5
[fr] add readme.fr.md file for 7-api-readme (#522)
3 years ago
..
translations [fr] add readme.fr.md file for 7-api-readme (#522) 3 years ago
.eslintrc.json folder names 4 years ago
.gitignore folder names 4 years ago
README.md Clarification on how to setup the Bank server API and the Bank App server (#416) 3 years ago
api.http Update API 4 years ago
package-lock.json Bump glob-parent from 5.1.1 to 5.1.2 in /7-bank-project/api 4 years ago
package.json folder names 4 years ago
server.js fix Express CORS support for 127.0.0.1 (closes #92) 4 years ago

README.md

Bank API

Bank API built with Node.js + Express.

The API is already built for you and not part of the exercise.

However, if you're interested to learn how to build an API like this you can follow this series of videos: https://aka.ms/NodeBeginner (videos 17 through 21 covers this exact API).

You can also take a look at this interactive tutorial: https://aka.ms/learn/express-api

Running the server

Make sure you have Node.js installed.

  1. Git clone this repo The Web-Dev-For-Beginners.
  2. Open your terminal and navigate into the Web-Dev-For-Beginners/7-bank-project/api folder
  3. Run npm install and wait for the packages to be installed(could take a while depending on the quality of your internet connection).
  4. When the installation is over, run npm start and you are good to go.

The server should start listening on port 5000. This server will be running together with the main bank app server terminal(listening on port 3000), do not close it.

Note: all entries are stored in-memory and are not persisted, so when the server is stopped all data is lost.

API details

Route Description
GET /api/ Get server info
POST /api/accounts/ Create an account, ex: { user: 'Yohan', description: 'My budget', currency: 'EUR', balance: 100 }
GET /api/accounts/:user Get all data for the specified account
DELETE /api/accounts/:user Remove specified account
POST /api/accounts/:user/transactions Add a transaction, ex: { date: '2020-07-23T18:25:43.511Z', object: 'Bought a book', amount: -20 }
DELETE /api/accounts/:user/transactions/:id Remove specified transaction