zaros-labs / coding-contest

Coding contest for backend

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Coding Contest Challenge: Backend

Description

Create a TypeScript Node.js Express API REST that fetches data from a subgraph and returns the values on the endpoint.

Requirements

  • Implement a GET endpoint.
  • Organize code into folders with standard naming conventions.
  • Define types for better code clarity and maintainability.
  • Write unit tests to ensure code reliability.
  • Utilize GraphQL queries to fetch data from the subgraph.
  • Configure environment variables for sensitive data.
  • Optimize caching mechanisms to enhance performance.

Details

Set up the GraphQL client using graphql-request to interact with a subgraph tool such as TheGraph or Alchemy. Retrieve the latest block number on the Arbitrum One Mainnet and return it in the GET route response. Implement cache optimization techniques using appropriate libraries, manual memory management, or innovative approaches to improve performance.

Evaluation Criteria

Candidates will be evaluated based on the following criteria:

  • File Structure: Attention to organizing code into logical and coherent folder structures.
  • Functionality: Implement high functionality while maintaining simplicity.
  • Optimization: Demonstrate optimization capabilities, especially in cache management.
  • Types Definition: Define clear and concise types for better code understanding.
  • Design Patterns: Utilize appropriate design patterns to ensure maintainability and scalability.
  • GraphQL Understanding: Showcase proficiency in interacting with GraphQL APIs.
  • EVM Tools Understanding: Display understanding of tools related to Ethereum Virtual Machine (EVM) and blockchain technologies.

This challenge aims to assess your ability to design and implement a robust backend solution using TypeScript, Node.js, Express, and GraphQL. Good luck!

About

Coding contest for backend