Skip to content

finco-latam/engineering-quiz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 

Repository files navigation

Task: Programming a REST API

Objective: Develop a REST API to solve a banking system problem, we should implement any database system, some examples are:

  • Manage User Accounts
  • Manage deposits, withdrawals and transfers.
  • Notification System for a payments solution
  • Credit score system
  • Credit calculation system

The solution should include the following:

Part 1: Requirements

  1. Technologies:
    • Python
    • Flask, Django or Fast API or any stuff of your own
    • Free to use any libraries
    • Use a database or any file system to save information
    • Some level of unit testing
  2. API Endpoints:
    • This should include http rest endpoints solving the problem described in the objective
    • At least 2 endpoints (1 GET & 1 Post), preferably a CRUD
    • Follow REST standards
    • Implement any form of authorization
  3. Validations:
    • Include at least 1 validation per endpoint
  4. Responses:
    • Include appropriate HTTP status codes (e.g., 200, 400, 404).
    • Return success or error messages in JSON format.

Part 2: User Guide

  • Objective: Describe the objective of your api
  • Guide : Should include a guide of how the endpoints work in this section
  • Test cases: Examples of how to test for your api

Part 3: Installation

Include the following sections:

  • Prerequisites: Prerequisites to install
  • Installation Steps: Commands to install the project

Part 4: Project Architecture

  • Project Structure: Your folder structure and explanation
  • Architecture Explanation: What arquitecture you base your idea on and principles
  • API Flow Diagram: Diagram of your solution

Nice to have

  • Include integration testing
  • Use docker to install the code
  • Use AWS to install your solution

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published