Yongliang's Project Portfolio Page
Project: imPoster
imPoster is a desktop application for beginners of API development to easily grasp the basics. The application is optimised for fast typists and can be fully operated through a Command Line Interface. My contributions to the project are as listed below:
Code contributed: RepoSense link
New Features & Enhancements
-
New Feature: Added the ability to send a request without saving the endpoint.
- What it does: allows the user to run API requests without saving.
- Justification: This feature improves the product significantly because a user can quickly type in an API URL with the required details, and the app will conveniently trigger a request for the user to view the response.
- Highlights: This feature involves two variations of command format that can be accepted. It required an in-depth analysis of command parsing order ensuring user inputs are treated correctly. The implementation too was challenging as it required changes to how we verify the validity of URLs.
-
New Feature: Added a keyboard shortcut that allows the user to retrieve the previous valid command using ctrl + up-arrow (Windows) / cmd + up-arrow (macOS).
-
New Feature: Added a help command that allows the user to open a pop up window displaying relevant links such as the product’s user guide and also a table of command summary for quick reference.
-
New Feature: Added a show command that allows the user to view the details of a saved endpoint.
-
Enhancements:
- Refactored code in the request calling logic, and the handling of command result to reduce duplication and improve code quality.
- Fixed issues related to user input (such as the integer index) involved in various commands to ensure bugs are caught and relevant error messages are provided.
Project management
- Contributed to gathering of discussion topics and updating of meeting minutes in weekly team meetings.
- Managed the
v1.3.1
product release on GitHub.
Documentation
- User Guide:
- Added the documentation for the features
send
,run
andhelp
. - Added the miscellaneous section to include relevant notes on features such as retrieval of last valid command.
- Added various sample APIs in command examples and the appendix.
- Added the documentation for the features
- Developer Guide:
- Added the high level overview of product design (Architecture, UI component and Logic component).
- Added implementation details of the
send
&run
feature.
Community
- PRs reviewed (with non-trivial review comments): (#79, #146, #189, #345).
- Contributed to forum discussions: (1, 2, 3, 4).
- Provided helpful tips and suggestions for other teams in the class: (1, 2, 3, 4).
- Raised pertinent issues on the topic of design principles and code refactoring: (1, 2).
- Followed up on bug reports to other teams to provide detailed information and observation: (1, 2).