Giter VIP home page Giter VIP logo

heard-technical-assessment's Introduction

Heard Take Home Assessment

About Heard

Heard is an all-in-one financial solution for therapists that combines software and human support to handle bookkeeping, taxes, payroll, and more. Our mission is to help therapists be therapists by acting as their financial back office to empower therapists to spend less time running their business and more time giving clients the help and support they need through an affordable, easy-to-use software tool with real-time human support.

Heard is growing rapidly, and could use your expertise to help us become an industry-leading software services provider for independent mental health practitioners!

About the Take Home

Welcome to the first stage of our technical interview process! As part of your application, we invite you to complete a take-home software assessment. This assessment is designed to showcase your coding abilities and understanding of web application development.

The task is to build a simple CRUD (Create, Retrieve, Update, Delete) web application consisting of a frontend with which a user can interact, a backend, and a datastore of your choice. This app will be used to interact with transaction data.

This application will form a basis for discussion in subsequent stages of the interview process, where you may be asked to extend its functionality or discuss the choices you made while building it.

Key Objectives


  • Frontend + Backend: The primary purpose of this exercise is to showcase your full-stack skills in both the frontend and backend. You can choose the technologies and frameworks you are most comfortable with.
  • Complete CRUD Operations: The web app should enable users to create new transactions, retrieve existing ones, update them, and delete them as needed.
  • Data Persistence: Transactions should be stored so that they persist between sessions (e.g., local database works great).
  • Git Repository: All code should be uploaded to a Git-based repository (such as GitHub or GitLab) for review.
  • Documentation: Please include clear documentation on how to run your service and website locally. This should guide any reviewer through setting up and using your application.
  • Dependencies: List any dependencies in your documentation so that anyone cloning the repository knows what they need to install to run your application.
  • Time Management: Aim to spend at most 2 hours on this exercise. It's about demonstrating your approach to problem-solving and coding rather than delivering a feature-complete application.

What's Less Important


  • Custom CSS/Styling: While we appreciate a well-styled application, there are other focuses here. Feel free to use any CSS framework you are comfortable with.
  • Deployment: There's no need to deploy the application. A version that runs locally on your machine is entirely sufficient. Submission
  • Additional Features: Features such as filtering, pagination, or advanced querying is not required.

Once you have completed the assessment, please provide the URL to your Git repository. Ensure that your repository is public or that access is granted to @dperconti.

Financial Transaction Data App

Each transaction must include the following attributes:

  • transactionId: A unique identifier for the transaction (string).
  • amount: The transaction amount in cents (Int).
  • description: A brief description of the transaction (string).
  • fromAccount: an account identifier from which the amount will be deducted from.
  • toAccount: an account identifier from which the amount will be added / credited to.
  • transactionDate: The date when the transaction occurred (string in the format of your choosing). Note that this will be used in further levels of the interview.

Example Transactions

Full data example is available HERE.

[
    {
        "title": "transaction_1",
        "description": "Transaction 1",
        "amount": 86203,
        "fromAccount": "account_3",
        "toAccount": "account_6",
        "transactionDate": "2023-05-24"
    },
    {
        "title": "transaction_2",
        "description": "Transaction 2",
        "amount": 71532,
        "fromAccount": "account_4",
        "toAccount": "account_6",
        "transactionDate": "2023-04-15"
    }
    ...
]

Other Considerations

โ— Note: These aren't all the technologies that we use at Heard, but most are relevant to our tech stack.

Technologies we Enjoy and/or Use

Languages

TypeScript JavaScript Python

Frontend Frameworks & Tools

React React Query React Router React Hook Form Redux

CSS Frameworks

Semantic UI React Styled Components TailwindCSS Ant-Design

API & App Frameworks

Express.js Django DjangoREST FastAPI Flask NestJS Next JS NodeJS

Hosting/SaaS

AWS Cloudflare Datadog Google Cloud Heroku Netlify Render Vercel

ORMs

Prisma Sequelize

Version Control

Git GitHub

Example

Below is an example of what your application could look like.

List Transactions Example dashboard for listing transaction data

Create Transaction Example dashboard for creating a transaction

Update Transaction Example dashboard for updating a transaction

heard-technical-assessment's People

Contributors

dperconti avatar

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.