tp

Aravind Theertha - Project Portfolio Page

By: Aravind Theertha (@theertha120)

Project Overview: InternSprint

InternSprint is your Ultimate Internship Application Assistant. Navigating internship applications can be overwhelming - multiple platforms, countless CV versions, and keeping track of application stages can quickly become chaotic. InternSprint is here to streamline the entire process, acting as your personal assistant for managing and organizing internship applications efficiently. InternSprint is a CLI application used for internship management. It is written in Java, and has about 8 kLoC.

Summary of Contributions

Code Contributed

Here is the Code I have contributed: Code Contributed

Enhancements implemented:

  1. New Feature: Added the ability delete added internships using index parameter

    • What it does: Allows the user to delete saved internships: the user just needs the parameter of index to delete the internship form the list of internships

    • Highlights: The index-based approach was used furthered in other commands like edit, enhancing consistency in the application.

  2. New Feature: Added the ability to view usage for all the existing commands

    • What it does: Allows the user to view the usage of all the available commands in InternSprint, including format to use the command and parameters needed

    • Highlights: This feature enhances user accessibility by providing a quick reference for all available commands, their formats, and required parameters. It utilizes a LinkedHashMap to record all the information for the commands.

  3. New Feature: Added the feature to save and load interview, project and user profile data.

    • What it does: Allows the user to view the information they have entered for projects, interviews and profile in the respective txt files.

    • Highlights: This feature implemented a Storage interface to standardize saving and loading mechanisms, along with a StorageManager to coordinate data persistence across different components.

  4. Additional Enhancement: Introduced a categorized project structure (software, hardware, and general) from which the add and view projects commands are built.

    • What it does: Establishes a base class (Project) with core parameters: projectName, role, objectives, description, and duration, along with additional parameters for each project type.
  5. Additional Enhancement: Implemented corruption handling for JSON data and structured plain text data during internship loading.

    • What it does: Detects and handles malformed or corrupted JSON entries, as well as corrupted user profile entries when loading internship data from file.

    • Highlights: It checks for:

      • Syntax-level issues (e.g., missing commas, brackets, or quotes)
      • Schema-level issues such as missing or incorrectly named keys (e.g., “company name” changed to “com”)

Contributions to team-based tasks :

Testing

Contributions to Documentation: