Welcome to the Bridgit technical test. There are three tasks of increasing complexity. After you have set up the software complete as many tasks as you can in the allotted timeframe.
| Project | Description |
|---|---|
| Database | PostgreSQL managed by Sequelize Migrations |
| Backend | NodeJS/Typescript with NestJS framework |
| Frontend | VueJS/Typescript |
Prerequisites:
- NodeJS 16
- Docker
Setting up the database on postgres://user:password@localhost:5436/technical_test:
# start postgresql server using Docker's "Compose"
$ docker-compose up -d
# create and populate the database using Sequelize
$ cd database
$ cp .env.localdev .env
$ npm install
$ npm run build
$ npm run migrate
$ npm run seed:allSetting up the backend on http://localhost:7100 with Swagger on http://localhost:7100/swagger:
$ cd backend
$ cp .env.localdev .env
$ npm install
$ npm run start:devSetting up the frontend on http://localhost:7200:
$ cd frontend
$ cp .env.localdev .env
$ npm install
$ npm run start:devLog in to the frontend as broker 1. You can find the login information in the database seeder script.
Create the functionality for a broker to submit a new loan application.
-
Show a modal after clicking the "Submit application" button, and allow the broker to enter the following information:
- applicant_name
- applicant_email
- applicant_mobile_phone_number
- applicant_address
- annual_income_before_tax
- incoming_address
- incoming_deposit
- incoming_price
- incoming_stamp_duty
- loan_amount
- loan_duration
- monthly_expenses
- outgoing_address
- outgoing_mortgage
- outgoing_valuation
- savings_contribution
-
Add a backend endpoint to receive the application submission
-
Query all existing applications and get the average
loan_amount -
Save the new application to the
applicationstable -
Return if new loan's loan_amount is above or below the average
Commit your code to your personal git and share the link with us.
