FredrikEk / Nordax.Recruitment

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nordax recruitment assignment

Welcome to the Nordax recruitment assignment! This task will help you familiarize yourself with the Nordax tech stack and challenge you with a realistic use case.

The task at hand

The assignment involves writing code in different parts of the stack:

  1. Frontend (React) In the LoanApplication component, your tasks are:
    1. Implement a loan application form with various fields, including:
      • Textboxes
      • Radio buttons
      • Checkboxes
      • Dropdowns
      • File uploads
    2. Create a simple loan application overview to display current loan applications.
  2. Backend (.NET7 API): Start working in the LoanApplication controller:
    1. Develop API endpoints to fetch and accept loan application data.
    2. Implement support to upload and fetch loan applications and associated files.

Database (Using Entity Framework):

Incorporate relevant entities, repositories, and dependencies. Ensure that database changes are version controlled using EF Core migrations.

Filestorage

Design a file storage mechanism for storing files conveniently.

Documentation

Write a brief description of your solution to help reviewers understand your approach.

Prerequisits

Before you begin, make sure you have the following tools and software installed:

Optional

IDEs

While you can use any IDE you prefer, these are what we tend to use:

  • Visual Studio
  • Jetbrains Rider
  • Visual Code
  • SQL Management Studio

Coding Guidelines

We value the following principles:

  • Clean, efficient, and self-documenting code
  • Understanding of test coverage (Unit tests are sufficient, but including an example of an end-to-end or component test is a significant plus)
  • Inversion of control
  • Unit of work
  • Conventional commits
  • Following the CQS (Command Query Separation) design pattern
  • SOLID principles

DOs and DONTs

Further guidelines to keep in mind:

  • You are free to use third-party libraries (NuGet or npm) if they are relevant to your solution.
  • You don't need to implement a production-ready solution. A well thought through proof of concept for the assigned tasks is sufficient. However, be prepared to discuss possible improvements and alternative solutions.
  • Note that the current codebase may have imperfections. Feel free to highlight areas that could be implemented differently or improved upon.

Happy coding, and we look forward to reviewing your solution! If you have any questions, don't hesitate to reach out.

About


Languages

Language:C# 46.8%Language:TypeScript 37.4%Language:JavaScript 8.0%Language:CSS 4.1%Language:HTML 3.7%