This repository contains my solution for a coding challenge given during the interview process for a backend developer position. The project involves creating a Node.js application with two main endpoints.
The goal is to implement a small project with two main features.
- Stack:
- Strict TypeScript
- Framework options: Hono/Elysia/Fastify/Express
- Documentation and tests are not required
- Input validation is optional but will be considered a plus
Create an endpoint that displays an array of objects containing the two lowest prices for each item (one tradable and one non-tradable).
- Data should be fetched from the Skinport API: https://docs.skinport.com/items
- Use default values for app_id and currency parameters
- Implement Redis caching for the items data
Implement a purchase system for fictional products with the following requirements:
- Create and populate a products table (multiple items with decimal prices)
- Implement user balance system
- Return updated user balance after purchase
The database should contain three tables:
- users
- products
- purchases
The database schema should be included in the repository.
[Instructions for setting up and running the project should be added here]
[Database schema details should be added here]
[Basic API endpoint documentation should be added here]