Ong De Zhi - Project Portfolio Page
Overview
AniChan is an all-rounded desktop application meant to improve the workflow efficiency and time management of anime translators. It has also been optimized for fast typists, as such the user will interact with it through a command-line interface.
Summary of Contributions
- New Feature: Added the ability to estimate the time needed to translate a script.
- What it does: Allows the user to figure out the time needed to translate a script based on the amount of words they can translate in an hour (words per hour), or by using the average translator’s speed (3 different words per hour values) to generate 3 timings.
- Justification: Being able to estimate the time needed more accurately can help the user in better managing and planning their time.
- Highlights: The challenge in this implementation is in ensuring a single valid file is provided, since the file name is a user input, it could contain special characters, whitespaces, file extensions, and even invalid file name characters. Hence, it needs to consider all these factors to ensure a valid file name is provided for estimation. Moreover, it also needs to ensure the optional parameter is not accidentally validated as part of the file name.
- New Feature: Added the ability to create, list, select, and delete watchlist.
- What it does: Allows the user to create, list, select, and delete watchlist.
- Justification: This feature provides the user with a way to keep track of animes and group them based on their own criteria, and this helps them to be more organized.
- Highlights: This feature maintains the active watchlist which is used by other commands and the input prompt, so it requires an in-depth analysis of the inputs received to ensure the modifications made by the user does not turn the active watchlist invalid. This is because an invalid active watchlist can cause other commands, and the application to fail.
- New Feature: Added the ability to save and load watchlist data automatically.
- What it does: Helps the user to automatically save their watchlist data into the file
watchlist.txt
, and load these data automatically when the application is launched. - Justification: Being an application to help users keep track of their animes and ensure they stay organized, persistent storage would be needed otherwise, users would have to re-enter their watchlist data every time they use the application.
- Highlights: The challenge with this implementation was in the loading of the watchlist data. It requires several in-depth checks to ensure that the different variation of invalid watchlist entry can be identified and dealt with. Also, it requires several branching logic to ensure that an invalid watchlist entry does not prevent other valid watchlist entry from being loaded.
- What it does: Helps the user to automatically save their watchlist data into the file
- New Feature: Added the ability to save and load user data automatically.
- What it does: Helps the user to automatically save their profile details into the file
user.txt
, and load these data automatically when the application is launched. - Justification: This allows the application to greet the user so they can feel welcomed.
- Highlights: It performs several checks on the user data to ensure that a valid
User
object can be created from it.
- What it does: Helps the user to automatically save their profile details into the file
-
Code Contributed: RepoSense Link.
- Documentation:
- User Guide:
- Developer Guide:
- Team-based Tasks
- Beyond Project Team Tasks
- Reported bugs and offered suggestions for a team in PE-D.
- Reviewed other teams’ User Guide and Developer Guide.