Skip to content

Latest commit

 

History

History
43 lines (32 loc) · 2.8 KB

frontend-flutter.md

File metadata and controls

43 lines (32 loc) · 2.8 KB

Senior Backend Developer Project Definition

Goals

This project is meant to give us a rough idea about how much you are technically experienced and also show you what is the general type of tasks we do in Toman.

Process

  1. Read this file through and make sure you know what is the task at hand
  2. Fork a repository from this one and start implementing the task
  3. Submit a pull request to this repository when you're done
  4. We will review your pull request and estimate whether we can use your expertise in Toman
  5. We will send you an email informing you about the result of our estimation

Metrics

We are mostly looking to find out how you work, rather than the result itself. So even though a functional result is important, the way it works and looks might be even more so.

We will be looking for things like this in your code:

  • Code structure, formatting, and readability
  • Applying common code conventions
  • Usage of useful patterns
  • Overall performance and reliability
  • Extensibility

Project

We want to implement a part of an escrow account product. The page we are interested in is the product definition page. For a better idea of what we're looking for, take a look at the following screenshot of the said page.

What we ultimately need is a page to submit a product description to our servers. The design page can be found in this Figma project.

API documentation can be found at this Apicurio preview. The referenced server in the documentation is not an actual server and doesn't validate the requests, it always returns HTTP 204 response.

Requirements

  • When user clicks on the "شرایط و قوانین" link, the bottom sheet in the second page (Basic info - EULA) should appear
  • Clicking on "شرایط و قوانین را می‌پذیرم" should mark the checkbox on the main page
  • Clicking "تایید" should send the request described in the documentation
  • We don't want the result to be pixel perfect, but the closer, the better
  • Adding validation to input fields is optional, but if you felt like it you can make the price to always be a positive number
  • The "تایید" button should be in disabled state until user activates the "شرایط و قوانین را می‌پذیرم" checkbox