0% found this document useful (0 votes)
35 views4 pages

Backend Developer Coding Test

The document outlines a coding test for backend developers to create a Project Management Application, focusing on user management, project and task management, and reporting functionalities. Key requirements include role-based access control, CRUD operations for projects and tasks, and the use of JWT for authentication. Additional technical and advanced features are specified, along with submission guidelines and evaluation criteria.

Uploaded by

Kaung Kaung
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views4 pages

Backend Developer Coding Test

The document outlines a coding test for backend developers to create a Project Management Application, focusing on user management, project and task management, and reporting functionalities. Key requirements include role-based access control, CRUD operations for projects and tasks, and the use of JWT for authentication. Additional technical and advanced features are specified, along with submission guidelines and evaluation criteria.

Uploaded by

Kaung Kaung
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

Backend Developer Coding Test

Introduction
This test is designed to evaluate your backend development skills, including API design,
database management, authentication, and advanced problem-solving. You will build a
backend service for a Project Management Application with a focus on real-world
scenarios.

Objective
Develop a backend service to manage Projects and Tasks, including the ability to
assign tasks to team members, track progress, and enforce role-based access controls.
In this test, you don’t need to create UI design and need to develop API route.

Requirements: Core Functionalities


User Management
1. Registration and Login:
o Users should register with name, email, and password (hashed).

o Implement JWT-based authentication.

2. Roles and Permissions:


o Each user can have a role: Admin, Manager, or Employee.

o Role-based access control (RBAC) must be implemented:

 Admin: Full access to all endpoints.


 Manager: Can manage projects and assign tasks.
 Employee: Can view assigned tasks and update task status.

AndFun Yangon Company Limited


Project Management
1. CRUD Operations:
o POST /projects: Create a new project (Admin & Manager).

o GET /projects: Fetch all projects, with filters for status and manager_id.

o GET /projects/{id}: Fetch a specific project.

o PUT /projects/{id}: Update project details (Admin/Manager).

o DELETE /projects/{id}: Soft delete a project (Admin).

2. Project Fields:
o id, name, description, manager_id, status (default: Active), created_at,
updated_at.

Task Management
1. CRUD Operations:
o POST /tasks: Create a new task within a project (Manager).

o GET /tasks: Fetch tasks with filters (e.g., project_id, assigned_user_id,


status).
o PUT /tasks/{id}: Update task details (Manager/Employee).

o DELETE /tasks/{id}: Soft delete a task (Manager).

2. Task Fields:
o id, title, description, project_id, assigned_user_id, status (Pending, In
Progress, Completed), due_date, created_at, updated_at.

AndFun Yangon Company Limited


Reporting and Analytics
1. Project Summary:
o API to fetch the total number of tasks in each status for a project.

2. User Performance:
o API to fetch the number of completed tasks by each employee within a
date range.

2. Technical Requirements
1. Framework: Use a modern backend framework (e.g., Laravel or CodeIgniter).
2. Database: Use a relational database (e.g., MySQL, PostgreSQL).
o Define relationships between users, projects, and tasks.

3. Authentication: Use JWT for secure access. Tokens should expire after a set
period.
4. Validation: Ensure proper validation for all API inputs (e.g., required fields, data
types).
5. Error Handling: Implement graceful error handling with proper HTTP status
codes.

3. Advanced Features (Optional but Recommended)


 Search: Add a search API to filter projects and tasks by name or description.
 Docker: Containerize the application for easy setup and deployment.

AndFun Yangon Company Limited


Submission Guidelines
1. Code Repository:
o Push your project to a public/private GitHub repository.

o Use clear and descriptive commit messages.

2. Documentation:
o Create the docx Word document and explain about you have done.

Evaluation Criteria
1. Code Quality: Clean, maintainable, and modular code.
2. Functionality: Completeness of required features.
3. Database Design: Proper use of relationships, indexes, and normalization.
4. Authentication & Security: Proper role-based access control and secure token
handling.
5. Performance: Efficient queries and pagination.
6. Testing: Presence and quality of tests.
7. Documentation: Clarity and usability of setup and API documentation.

AndFun Yangon Company Limited

You might also like