You are on page 1of 3

Software Engineer (API Integration) Technical Test

This document is intended for sole use by the company, Geekseat Indonesia. Distribution outside of
Geekseat is strictly forbidden and will result in your application being void. © Geekseat
The Story: Building a RESTful API Service

Objective:
The candidate is required to design and implement a RESTful API service for a simple application.

Requirements:
• API Design and Documentation:
- Design a RESTful API for a "To-Do List" application that allows users to manage tasks.
- Document the API endpoints, request and response formats, authentication, and error handling
using tools like Swagger or Postman.
• Authentication and Authorization:
- Implement token-based authentication for API access.
- Include role-based access control to restrict certain actions to authorized users.
• CRUD Operations:
- Implement CRUD (Create, Read, Update, Delete) operations for tasks using appropriate HTTP
methods (POST, GET, PUT, DELETE).
- Ensure data validation and handle errors gracefully.
• Data Persistence:
- Choose a database (e.g., MySQL, PostgreSQL) and create a schema to store task data.
- Implement database interactions for storing and retrieving tasks.

Validation and Error Handling:


• Implement input validation for API requests.
• Handle errors using appropriate HTTP status codes and error messages.

Testing:
• Write unit tests for API endpoints using a testing framework like Jest or Mocha.
• Include test cases to cover positive and negative scenarios.

Security:
• Implement secure communication using HTTPS.
• Apply best practices for API security, such as input sanitization and protection against common
attacks (e.g., SQL injection, XSS).

Deployment:
• Deploy the API service to a cloud platform (e.g., AWS, Heroku) or a local server.
• Provide clear instructions for setting up and running the API service.

Submission and Evaluation:


• The candidate should provide the source code of the API service along with any necessary
configuration files.
TECHNICAL TEST – Software Engineer (API Integration) 2
• Include API documentation outlining the endpoints, request and response formats, and
authentication.
• Provide instructions for running the API service and executing the unit tests.
• The submitted project will be evaluated based on the quality of API design, implementation, security
measures, error handling, and overall code quality.

This technical test allows candidates to demonstrate their API-First development skills by designing and
building a functional RESTful API service. It assesses their ability to design a well-structured API, handle
authentication and authorization, interact with a database, implement CRUD operations, ensure data
validation and security, and provide thorough documentation. Candidates can showcase their coding
proficiency, attention to detail, and problem-solving capabilities within the context of API development.

May the force be with you!

TECHNICAL TEST – Software Engineer (API Integration) 3

You might also like