AungKhantZin CarrierTech CodeTest
AungKhantZin CarrierTech CodeTest
------------------------------------------------------------------------------------------------------------------------------------------------------------
Backend Developer
Practical Test
Documentation
28/10/2024
[Aung Khant Zin]
Contents
Section 1 Introduction................................................................................................................................. 3
Section 2 Technical Documentation ........................................................................................................... 3
------------------------------------------------------------------------------------------------------------------------------------------------------------
PDM SyReq Template Ver 2.1|5/17/2013 Page 2 of 5
[Backend Developer Practical Test Aung Khant Zin]
------------------------------------------------------------------------------------------------------------------------------------------------------------
Section 1 Introduction
With over two years of hands-on experience in the software development field, I am a
dedicated and versatile software developer skilled in both frontend and backend technologies.
My journey has equipped me with a solid understanding of creating seamless user experiences
and robust server-side solutions. I have a proven track record of delivering high-quality code
and innovative solutions, and I thrive in dynamic environments where I can leverage my
technical expertise to contribute to impactful projects.
1. API / Login
I updated the rules and messages for additional validation and then update the
LoginController to use LoginRequest. And finally, added ctji-api guard
configuration under the guard section in config/auth.php file. Finally, verify that
Login Resource can handle response when a user successfully login.
2. API / Post
To use eloquent relationships between Post, user, tag and like, I updated the
models under App/Models to ensure that-
Optimized the Query: Used eager loading for tags and likes, and added
withCount for likes in the index method
https://github.com/kaungkaunglay/backend-developer-practical-testof
PostController.
Used Resource: Returned the Post Resource collection in the index method
------------------------------------------------------------------------------------------------------------------------------------------------------------
PDM SyReq Template Ver 2.1|5/17/2013 Page 3 of 5
[Backend Developer Practical Test Aung Khant Zin]
------------------------------------------------------------------------------------------------------------------------------------------------------------
First, we define an interface for the Internet Service Provider (ISP) that will
enforce the contract for all ISP implementations.
app/Services/InternetServiceProvider/InternetServiceProviderInterface.php
Next, we create an abstract class that implements the interface and provides
common functionality for all ISPs.
app/Services/InternetServiceProvider/InternetServiceProviderAbstract.php
Now, we implement the concrete classes for each ISP, extending the abstract
class.
app/Services/InternetServiceProvider/Mpt.php
app/Services/InternetServiceProvider/Ooredoo.php
app/Factories/InternetServiceProviderFactory.php
We implement the controller to handle the API requests and use the factory
to get the appropriate ISP instance.
app/Http/Controllers/InternetServiceProviderController.php
routes/web.php
------------------------------------------------------------------------------------------------------------------------------------------------------------
PDM SyReq Template Ver 2.1|5/17/2013 Page 4 of 5
[Backend Developer Practical Test Aung Khant Zin]
------------------------------------------------------------------------------------------------------------------------------------------------------------
5. Staff Service: Ensure the Staff service has a method salary that processes the payroll data.
StaffController: Update the StaffController to handle request data, validate it if necessary,
and pass it to the Staff service.
Route: Define the route for the payroll in the web.php file.
Applicant Service: Ensure the Applicant service has a method applyJob that processes the
job application.
JobController: Update the JobController to handle request data, validate it, and pass it to
the Applicant service.
Route: Define the route for the job application in the web.php file.
Finally As for the test units, I created the Unit Tests: Using php artisan make:test LoginApiTest.
------------------------------------------------------------------------------------------------------------------------------------------------------------
PDM SyReq Template Ver 2.1|5/17/2013 Page 5 of 5