Jai Lulla's Project Portfolio Page
Project: CohortConnect
CohortConnect is an advanced desktop address book that facilitates networking among Computer Science (CS) students. It is optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). It is written in Java and has about 17kLoc. The GUI is created with JavaFX. It contains various advanced features such as finding teammates using GitHub Data.
Given below are my contributions to the project.
New Features
- Created the Welcome Splash Screen.
- What it does: When the app is launched, the user is greeted with a Welcome Splash Screen.
- Justification: To enhance the overall experience with the app.
- Highlights: It shows our app logo and motto with a typewriter and fading effect.
- Credits: JavaFX library is utilized.
- Created the Profile Setup Window.
- What it does: When the app is launched for the first time, the user is requested to enter their credentials, including Name, Telegram Handle, and GitHub Username.
- Justification: In order for the user to take full advantage of the Find a Buddy feature, they have to provide these details.
- Highlights: The app logo is shown beside Text Fields, which almost blends in the dark-themed UI.
- Credits: JavaFX library is utilized.
- Created the User Profile Window.
- What it does: Users can view their profiles by either using the keyboard shortcut
Command/Ctrl + P
or by clicking on their name in the Menu Bar (in the top right). - Justification: In order for the user to view and verify their entered Credentials are correct.
- Highlights: The Users GitHub Profile Picture is shown beside their Credentials.
- Credits: JavaFX library is utilized.
- What it does: Users can view their profiles by either using the keyboard shortcut
- Add a keyboard shortcut:
Command/Ctrl + P
.- What it does: This keyboard shortcut allows the user to open the User Profile Window via
Command/Ctrl + P
- Justification: Improves Navigability across the app.
- What it does: This keyboard shortcut allows the user to open the User Profile Window via
- Created a GitHub Utility Class.
- What it does: This class helps in retrieving Users’ Data from GitHub. This data includes the Number of Languages, Number and Name of Repositories and Their Profile Pictures.
- Justification: The Find a Buddy feature relies on this data for matching Users.
- Highlights: All this data is obtained by Web Scraping.
- Credits: Atin Sakkeer Hussain and I contributed to this.
- Integrated Profile Picture into Person Details Pane.
- What it does: The Person Details Pane now shows the Users Profile Picture obtained from GitHub. A default Profile Picture would be shown if a connection to the GitHub servers cannot be established or the User enters an invalid GitHub Username.
- Justification: To enhance the overall experience with the app.
- Highlights: The User can now see the GitHub Profile Pictures of the contacts saved.
- Credits: JavaFX library is utilized.
- Integrated User Profile into the Menu Bar.
- What it does: The Users Name and GitHub Profile Picture are shown on the Menu Bar (top right).
- Justification: To enhance the overall experience with the app.
- Highlights: The User can click on it to open the User Profile Window.
- Credits: JavaFX library is utilized.
Enhancements to Existing Features
- Updated the Help Window with a better UI - a darker theme and more informative.
- What it does: Added a list of commands supported by the app for quick access. Also added a
visit URL
button, which, when clicked upon, opens the User Guide in the Web Browser. - Justification: This allows the user to quickly refer to any command they don’t recall without the fuss of leaving the app and having to read the User Guide.
- Highlights: The darker-themed UI, with a red highlight when the mouse hovers above any command, enhances the usability of the app.
- Credits: JavaFX library is utilized.
- What it does: Added a list of commands supported by the app for quick access. Also added a
Code contributed: RepoSense link
Project management
- Managed releases
v1.1
-v1.4
(4 releases) on GitHub
Testing
- Wrote additional tests for existing classes to increase coverage (Pull requests #152 #257, #263, #272)
Documentation
- User Guide:
- Added documentation for the commands
fav
,unfav
,help
,list
,clear
andexit
#136 - Added documentation for supported keyboard mappings #153
- Added basic prerequisites and profile set up guide #215
- Did cosmetic tweaks to existing documentation of various features : #136, #245
- Maintained the Command Summary Table #45, #136, #226, #270
- Fix an Issue where anything in between
<
and>
was not being displayed #45, #69
- Added documentation for the commands
- Developer Guide:
- Added implementation details of the
WelcomeWindow
Ui. #104, #303 - Added implementation details of the
ProfileSetUpWindow
Ui. #282, #297 - Added implementation details of the
UserProfileWindow
Ui. #282, #297 - Added implementation details of the
HelpWindow
Ui. #282, #297 - Added implementation details of the
UserProfileInMenuBar
Ui. #282, #297 - Updated
UiClassDiagram
. #282, #338 - Updated User Stories and Use Cases. #14, #303
- Added implementation details of the
Community