Tan Jin's Project Portfolio Page
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
requestfeature which is heavily used by the
- What it does: Supports the making of API calls to an endpoint.
- Justification: The core functionality of our product is heavily dependent on this feature. Without this, the product is unable to send requests and receive responses.
- Highlights: This new feature is used by the
runcommands to perform API calls. The implementation was challenging as it required the use of threading to ensure that the UI does not freeze up when API calls take longer than expected.
- Credits: The request feature is built on top of Apache HttpComponents.
New Feature: Added the ability to make an API call through the
- What it does: Allows the user to make an API call to a saved endpoint.
- Justification: This command is needed for a user to make an API call to an endpoint.
- Highlights: The
sendcommand complements and is supported by the above
requestfeature which allows the user to specify an endpoint to make an API call for.
New Feature: Added the ability to cancel an API call through ctrl + d.
- What it does: Allows the user to cancel an ongoing API call.
- Justification: Certain endpoints may take a long time to respond. Without this feature, users may be held hostage by the wait time without an option to abort the API call.
- Highlights: This keyboard command complements the above
requestfeature by providing users with an option to terminate an ongoing API call. The implementation was challenging as the API call was made in a thread and terminating it required the closing of the HTTP connection with careful handling of exceptions.
New Feature: Added switching of application theme through the
- What it does: Allows users to switch the application theme easily.
- Justfication: This improves the visual comfort for the user as they are able to work under visuals they are more accustomed to (e.g. light/dark theme).
- Highlights: This feature was implemented such that new themes can be added easily by modifying only a single line of code and adding a new css file.
endpointto store API call responses.
project iconto dock/taskbar when the application is launched.
- Added an
outlineon the focused component of the UI for clarity to users.
- Added the
dark themefor the UI.
GIFsto represent ongoing API call and error message.
- Added the team self-initiated main project website.
- Managed releases
v1.3(5 releases) on GitHub.
- Maintained gantt chart and project development board.
- Setup the GitHub team organisation/repository and added favicon to project page.
- Setup tools and workflow guide to ease project workflow (#66).
- PRs reviewed (with non-trivial review comments): #122, #378.
- Helped and provided tips through forum discussions (examples: Checkstyle Guide, Fat JAR guide, Peer Help).
- Integrated the third party library Apache HttpComponents to the project (#125).
- Added a pre-commit githook to the repository to improve CI (#98).
- Added a script to easily sync local, remote individual and team repositories (#45).
- User Guide:
- Developer Guide: