Hello fellow student developers! Welcome to your one-stop destination for managing developers' contacts!
CodeConnect is a developer-first networking application for student developers to keep track of and reach out easily to other student developers, so they can easily form teams for hackathons.
We are optimised for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, CodeConnect can get your contact management tasks done faster than traditional GUI apps.
Hey there, aspiring student innovators! 🚀 Welcome to CodeConnect, your passport to a vibrant world of collaboration and innovation! 🌟
Imagine a place where you can manage the details of like-minded student developers effortlessly. A world where forming dream teams for hackathons is not just a possibility, but a seamless reality.
Well, look no further! CodeConnect is your developer-first networking application, designed by student developers for student developers. Whether you're a coding wizard in Python, a design maestro in UI/UX, or a tech enthusiast exploring new horizons, CodeConnect is your ultimate ally.
So, get ready to explore, connect, and create with CodeConnect! 🎉 Let's turn those tech dreams into reality, one collaboration at a time! 💻✨
This guide is designed to help you learn how to use CodeConnect effectively and explore its various features. If you are unfamiliar with programming, don't worry - we have intentionally made it beginner-friendly so that even non-developers will be able to use our guide with ease.
If you're already familiar with CodeConnect, you can skip ahead to the features, command summary or parameter constraints sections.
But if you're new to CodeConnect, simply follow along step-by-step to discover how to gather and form your next champion team!
Before we dive into the guide, let's go over a couple of things to make it more fun for you! Throughout the guide, you'll find some blocks of information that are all jazzed up with colors. They're there to highlight different types of info, so keep an eye out! 🌟
Throughout this guide, you'll see some commands highlighted in these cool little boxes:
Text in this box is a command
See those CAPITALISED words? They're placeholders for your inputs! Don't stress about the exact values right now; we'll get to that later. So, for example:
rate INDEX ts/KEYWORD r/RATING
You can jazz it up like this:
rate 1 ts/Java r/10
Also, keep an eye out for blue hyperlinks! They'll whisk you away to other parts of the guide or even other places online.
Alright, now that we've covered the fun stuff, let's dive in and uncover the power of CodeConnect! 🚀💥
Ensure that you have Java 11 installed on your computer. Click here to learn how to find out what Java version you have! If you do not have Java 11, you can download Java 11 by following the links below:
You might also need to install JavaFX 11. You can find the installation guide here.
Download the latest codeconnect.jar
from here.
Copy the file to the folder you want to use as the home folder for your CodeConnect, using your system's File Explorer.
Open up the command prompt (Windows), terminal (Mac) or terminal emulator (Linux).
Type cd
followed by the directory path to the folder where you have saved CodeConnect to. Navigate there and press Enter
.
Use the java -jar codeconnect.jar
command to run the application.
A GUI similar to the below should appear in a few seconds.
Type a command into the command box and press Enter to execute it.
Some example commands you can try:
list
: Lists all contacts.
add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 g/johnDoee ts/Java
: Adds a contact named John Doe
to CodeConnect.
delete 3
: Deletes the 3rd contact shown in the current list.
clear
: Deletes all contacts.
exit
: Exits the application.
Refer to the Features below for details of each command.
Below you will find explanations for each key component in the CodeConnect GUI.
This is the text input area. This is the most important part of the program. Here is where you will key in the commands you need.
This is the file button. Here is where you can exit the program.
This is the help button. Here is where you can find any kind of help with CodeConnect.
This is our teams display panel. All the teams added are displayed here.
This is our response panel. Here is where we provide responses to your CLI commands, or offer assistance for your next command.
This is our contacts display panel. Here is where results of your searches for contacts will be displayed.
Words in UPPER_CASE
are the parameters to be supplied by the user.
e.g. in add n/NAME
, NAME
is a parameter which can be used as add n/John Doe
.
Items in square brackets are optional.
e.g. n/NAME [t/TAG] [ts/TECH_STACK]
can be used as n/John Doe t/friend ts/Java
or as n/John Doe
.
Items with …
after them can be used multiple times including zero times.
e.g. [t/TAG]…
can be used as (i.e. 0 times),
t/friend
, t/friend t/family
etc.
Parameters can be in any order.
Note: Excluding Rate Command.
e.g. if the command specifies n/NAME p/PHONE_NUMBER
, p/PHONE_NUMBER n/NAME
is also acceptable.
Extraneous parameters for commands that do not take in parameters (such as help
, list
, exit
and clear
) will be ignored.
e.g. if the command specifies help 123
, it will be interpreted as help
.
If you are using a PDF version of this document, be careful when copying and pasting commands that span multiple lines as space characters surrounding line-breaks may be omitted when copied over to the application.
list
You can view a list of all your contacts in CodeConnect with this command.
Format:
list
add
You can add any new developer that you have just met into CodeConnect with this command.
Format:
add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS g/GITHUB_USERNAME [pp/PROFILE_PICTURE] [t/TAG]… [ts/TECH_STACK]…
Examples:
add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 g/johnDoee pp/https://api-prod-minimal-v510.vercel.app/assets/images/avatar/avatar_1.jpg
add n/Betsy Crowe t/friend e/betsycrowe@example.com a/Newgate Prison p/1234567 g/betBetty t/criminal ts/Flutter pp/https://api-prod-minimal-v510.vercel.app/assets/images/avatar/avatar_1.jpg
edit
You can edit any contact saved in CodeConnect at the specified INDEX
with this command.
Format:
edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [g/GITHUB_USERNAME] [pp/PROFILE_PICTURE] [t/TAG]… [ts/TECH_STACK]…
t/
and ts/
without specifying any tags after it.Examples:
edit 1 p/91234567 e/johndoe@example.com
edits the phone number and email address of the 1st contact to be 91234567
and johndoe@example.com
respectively.edit 2 n/Betsy Crower t/
edits the name of the 2nd contact to be Betsy Crower
and clears all existing tags.find
You can find any contacts whose names contain any of the given keywords with this command.
Format:
find KEYWORD [MORE_KEYWORDS]
hans
will match Hans
Hans Bo
will match Bo Hans
Han
will not match Hans
OR
search).
e.g. Hans Bo
will return Hans Gruber
, Bo Yang
Examples:
find John
returns John Doe
find alex david
returns Alex Yeoh
, David Li
find-tags
You can find any contacts whose tags contain all the given keywords with this command.
Format:
find-tags KEYWORD [MORE_KEYWORDS]
school
will match School
school
will not match schools
AND
search).Examples:
find-tags classmates
returns anyone with the tag classmates
find-ts
You can find any contacts whose tech stack contain all the given keywords with this command.
Format:
find-ts KEYWORD [MORE_KEYWORDS]
java
will match Java
java
will not match javascript
AND
search).Examples:
find-ts Python
returns anyone with the tech stack Python
rate
You can rate any specified skill of any specified contact with this command.
Format:
rate INDEX ts/KEYWORD r/RATING
java
will not match Java
java
will not match javascript
Examples:
rate 1 ts/React r/8
rates the skill of React of the first contact as 8.delete
You can delete any specified contact from CodeConnect with this command.
Format:
delete INDEX
INDEX
. Examples:
list
followed by delete 2
deletes the 2nd contact in the address book.find Betsy
followed by delete 1
deletes the 1st contact in the results of the find
command.clear
You can clear all contacts from CodeConnect with this command.
Format:
clear
help
You can view a link to this user guide with this command.
Format:
help
exit
You can exit the program with this command.
Format:
exit
team
add
You can add a new hackathon team to CodeConnect with this command.
Format:
team add n/TEAM_NAME
NUS HACK 2024
and Nus Hack 2024
are allowed).Examples:
team add n/NUS HACK 2024
adds a new team named NUS HACK 2024
into the teams list.[Jump to Team Commands]
[Jump to Features]
delete
You can delete a team from your team list with this command.
Format:
team TEAM_INDEX delete
TEAM_INDEX
. Examples:
team 1 delete
deletes the first team in the team list.[Jump to Team Commands]
[Jump to Features]
You can view a list of all the members of a specific team in your team list with this command.
Format:
team TEAM_INDEX
TEAM_INDEX
. Examples:
team 1
shows a list of all the members of the first team.[Jump to Team Commands]
[Jump to Features]
add-contact
You can add a contact to a specific team in your team list with this command.
Format:
team TEAM_INDEX add-contact CONTACT_INDEX
CONTACT_INDEX
to the team at the specified TEAM_INDEX
. TEAM_INDEX
refers to the index number of the team shown in the displayed teams list. CONTACT_INDEX
refers to the index number of the contact shown in the contact list the user sees.list
to view all contacts and then add a contact to the team.Examples:
team 1 add-contact 1
adds the contact at index 1 of the contact list you are currently viewing to the first team in the team list.team 1
to view the updated members of the team.[Jump to Team Commands]
[Jump to Features]
delete-contact
You can delete a contact from a specific team in your team list with this command.
Format:
team TEAM_INDEX delete-contact CONTACT_INDEX
CONTACT_INDEX
from the team at the specified TEAM_INDEX
.TEAM_INDEX
refers to the index number of the team shown in the displayed teams list.CONTACT_INDEX
refers to the index number of the contact shown in the contact list the user sees.team TEAM_INDEX
to view all contacts in the team and then delete a contact from the team.team TEAM_INDEX
again.Examples:
team 1 delete-contact 1
deletes the contact at index 1 from the first team in the team list.team 1
to view the updated members of the team.[Jump to Team Commands]
[Jump to Features]
export
You can export the members' details of a specific team in your team list with this command.
Format:
team TEAM_INDEX export
TEAM_INDEX
.Examples:
team 1 export
exports the members' details of the 1st team in the teams list.Details exported to clipboard:
Member 1
Name: Bernice Yu
Phone Number: 99272758
Email: berniceyu@example.com
Address: Blk 30 Lorong 3 Serangoon Gardens, #07-18
GitHub Username: Berney-Yu
[Jump to Team Commands]
[Jump to Features]
You can open a desktop mail application to directly email a specific contact.
How to use:
[Jump to Non-CLI Features]
[Jump to Features]
You can navigate through your past commands.
How to use:
[Jump to Non-CLI Features]
[Jump to Features]
CodeConnect data is saved in the hard disk automatically after any command that changes the data. You do not need to save anything manually.
[Jump to Non-CLI Features]
[Jump to Features]
CodeConnect data is saved automatically as a JSON file [JAR file location]/data/addressbook.json
. If you are an advanced user, feel free to update data directly by editing that data file.
[Jump to Non-CLI Features]
[Jump to Features]
[Jump to Table of Contents]
Q: How can I report a bug?
A: Feel free to create an issue for the bug here. Be sure to include all the details about the bug and how it's popping up. Your input means the world to us!
Q: Can I change up the font and colors of the application?
A: For now, we're keeping it sleek and simple. Customisable features aren't on the menu at the moment. But hey, who knows what the future holds? Keep an eye out for updates!
Q: Can I use the application offline?
A: This application's got your back even when the Wi-Fi's down. Your tasks and progress will be safe on your local computer.
Q: How do I transfer my data to another computer?
A: Install the application in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous CodeConnect home folder.
preferences.json
file created by the application before running the application again.Action | Format, Examples |
---|---|
List | list |
Add | add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS g/GITHUB_USERNAME [pp/PROFILE_PICTURE] [t/TAG] [ts/TECH_STACK]… e.g., add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 g/Jamesho123 pp/https://api-prod-minimal-v510.vercel.app/assets/images/avatar/avatar_1.jpg t/friend t/colleague ts/Java ts/C++ |
Edit | edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [g/GITHUB_USERNAME] [pp/PROFILE_PICTURE] [t/TAG]… [ts/TECH_STACK]… e.g., edit 2 n/James Lee e/jameslee@example.com |
Find | find KEYWORD [MORE_KEYWORDS] e.g., find James Jake |
Find by Tags | find-tags KEYWORD [MORE_KEYWORDS] e.g., find-tags School Work |
Find by Tech Stack | find-ts KEYWORD [MORE_KEYWORDS] e.g., find-ts Java Python |
Rate | rate INDEX ts/TECH_STACK r/RATING e.g., rate 3 ts/Java r/7 |
Delete | delete INDEX e.g., delete 3 |
Clear | clear |
Help | help |
Exit | exit |
Team - Add | team add n/NAME e.g., team add n/NUS HACK 2024 |
Team - Delete | team TEAM_INDEX delete e.g., team 1 delete |
Team - List | team TEAM_INDEX e.g., team 1 |
Team - Add Contact | team TEAM_INDEX add-contact CONTACT_INDEX e.g., team 2 add-contact 3 |
Team - Delete Contact | team TEAM_INDEX delete-contact CONTACT_INDEX e.g., team 1 delete-contact 4 |
Team - Export Details | team TEAM_INDEX export e.g., team 1 export |
Parameter | Prefix | Acceptable Values | Examples |
---|---|---|---|
Name | n/ | Must contain only alphanumeric characters and may include spaces. All names must be unique. | n/John Doe |
Address | a/ | Can contain any values. | a/Blk 30 Lorong 3 Serangoon Gardens, #07-18 |
Phone Number | p/ | Must contain only numeric characters and should be at least 3 digits long. | p/91234567 |
Email Address | e/ | Can contain any values. | e/yolo@gmail.com |
GitHub Username | g/ | Must contain only alphanumeric characters and hyphens (-). All usernames must be unique. | g/JohnDoe |
Profile Picture | pp/ | Must be a valid URI to an image. Supports .PNG, .JPG, .JPEG and .GIF formats. | pp/https://api-prod-minimal-v510.vercel.app/assets/images/avatar/avatar_1.jpg |
Tags | t/ | Must contain only alphanumeric characters. They are limited to only 15 characters. | t/friend |
Tech Stack | ts/ | Must contain only alphanumeric characters, underscores(_), hashtags(#), hyphens(-), periods(.) and plus signs(+). Limited to only 15 characters. | ts/Java |
Rating | r/ | Must be an integer between 0 (inclusive) and 10 (inclusive). | r/7 |
Index/Contact_Index | NIL | Must be a positive integer which is not greater than the number of contacts in the currently displayed contact list. | 3 |
Team Name | n/ | Must contain only alphanumeric characters and spaces. All team names must be unique. | n/NUS HACK 2024 |
Team Index | NIL | Must be a positive integer which is not greater than the number of teams in the address book. | 2 |
rate
command: