Code Monkey home page Code Monkey logo

banking-api's Introduction

Banking API

Objective

Your assignment is to build an internal API for a fake financial institution using PHP and Laravel.

Brief

While modern banks have evolved to serve a plethora of functions, at their core, banks must provide certain basic features. Today, your task is to build the basic REST API for one of those banks! Imagine you are designing a backend API for bank employees. It could ultimately be consumed by multiple frontends (web, iOS, Android etc).

Tasks

  • Implement assignment using:
    • Language: PHP
    • Framework: Laravel
  • There should be API routes that allow them to:
    • Authenticate users
    • Create a new bank account for a customer, with an initial deposit amount. A single customer may have multiple bank accounts.
    • Transfer amounts between any two accounts, including those owned by different customers.
    • Retrieve balances for a given account.
    • Retrieve transfer history for a given account.
  • All endpoints should only be accessible if an API key is passed as a header.
  • All role-based endpoints should require authentication.
  • Write tests for your business logic.
  • Provide a documentation (published with Postman) that says what endpoints are available and the kind of parameters they expect.
  • You are expected to design all required models and routes for your API.

Evaluation Criteria

  • PHP best practices
  • Completeness: did you complete the features?
  • Correctness: does the functionality act in sensible, thought-out ways?
  • Maintainability: is it written in a clean, maintainable way?
  • Testing: is the system adequately tested?
  • Documentation: is the API well-documented? Host it via Postman.

All the best and happy coding!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.