Project Portfolio Page - Decodex
Overview
This is a student project for Software Engineering & Object-Oriented Programming (CS2113/T). And, I am Sim Tian Boon, one of the contributors of Decodex
.
Project Name: Decodex
Decodex
is a Command Line Interface (CLI) application for Capture-The-Flag (CTF) players to quickly transform data from one format to another easily and intuitively.
Summary of Contributions
Below are my contributions to the Decodex
Note that the PR links below are the more notable ones - easier to find.
Features/Functionalities
- Added
Parser
functionality to parse user inputs (For non-recipe commands) (#53, #72)- Functionality - Performs the parsing of user input to corresponding command.
- Justification - Helps to parse user input so that
Decodex
can run the correct command that users expect.
- Added the ability to show current data (#274)
- Feature - Shows the user the current data that they have. By default, this current data will be your original data if no modules has been run on it.
- Justification - Allows user to keep track of the current data they are working on, and also credits to @alwinangys for the suggestion.
- Added Base64 Modules (Base64 Encoder and Decoder) (#35)
- Feature - Allows users to use these modules to encode/decode using base64 formats.
- Justification - This is one of the more common encoding formats that appear in CTFs.
- Added ability to load recipes from files on start up (#208)
- Functionality - Performs the loading of saved recipe files upon run of
Decodex
. - Justification - Allows users to load previously saved recipes and provides convenience.
- Functionality - Performs the loading of saved recipe files upon run of
- Added ability to save recipe into file, and delete the recipe file (#208)
- Functionality - Saves (Auto) the recipe into a file named
recipeName.txt
and stores it in therecipe/
directory. The auto-deletion of the recipe file happens when user deletes the recipe onDecodex
. - Justification - Allows users to save recipes into file and delete without having to manually do it.
- Functionality - Saves (Auto) the recipe into a file named
Enhancements to Existing Features
- Refactored and improved Coding Standards
- Assertion for
Parser
- #99 - Logging for
Decodex.class
- #96 - Wrote JUnit Test for Base64 Modules, Parser and Storage - #35, #72, #91, #319, #325
- Attempted to standardize coding styles/documentation - #47, #147
- I learnt that this is probably one of the hardest thing to do since everyone has their own style.
- JavaDocs for
Decodex
andStorage
- Some notable ones (#280) - Bug Fixes - #274, #286