Project: SPAM

SPAM is a desktop application that is made for fast-typing marketers to handle large quantities of marketing leads and contacts efficiently and precisely. It is a CLI application that has UNIX-like command line syntax, and sports an elegant and modern GUI created with JavaFX. The application is written in Java, and has about 15 kLoC.

Given below are my contributions to the project.

  • New Feature: Data encryption.
    • What it does: Secures data by encrypting files with a user-supplied password.
    • Justification: Marketers handle sensitive personal information of their leads. Adding a layer of security to protect against unauthorised users and data leaks will give users a peace of mind.
    • Highlights: The encryption algorithm used is AES-256.
    • Credits: Encrypting and Decrypting Files in Java by Baeldung. Adapted and modified.
  • Code contributed: RepoSense link

  • Project management:
    • Managed project deadlines and deliverables.
    • Convert team meeting minutes into concrete and digestible tasks.
    • Delegated tasks according to team members’ strengths and interests.
    • Set up a scheduling and tracking system for issues.
  • Enhancements to existing features:
    • Refactor CLI syntax to resemble UNIX command-line. (Pull requests #60)
  • Documentation:
    • User Guide:
      • Added FAQ section. #123
    • Developer Guide:
      • Added implementation details of the data encryption feature. #92
  • Community:
    • PRs reviewed (with non-trivial review comments): #112, #74, #125
    • Contributed to forum discussions (examples: 1, 2, 3, 4)
    • Reported bugs and suggestions for other teams in the class (examples: 1, 2, 3)